changeset 2663:00b2eff19bf5

[project @ 1997-02-08 21:58:49 by jwe]
author jwe
date Sat, 08 Feb 1997 22:00:24 +0000
parents be083921a2d4
children 9ccca1037db3
files README.Linux liboctave/Array2-idx.h liboctave/ChangeLog liboctave/idx-vector.h scripts/ChangeLog scripts/specfun/erfinv.m src/ChangeLog src/oct-stream.cc
diffstat 8 files changed, 52 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/README.Linux	Tue Feb 04 20:12:19 1997 +0000
+++ b/README.Linux	Sat Feb 08 22:00:24 1997 +0000
@@ -47,6 +47,13 @@
 above work for me.  Other version combinations may also work, but I
 don't have time to map out all the possibilities...
 
+Craig Earls <cpearls@ziplink.net> reports that the order of installing
+libc and lig++ is important.  If libg++ is installed *first*, Octave
+will work, but if the libraries are installed in the reverse orfer,
+Octave fails.  The conflict apparently arises because libc and libg++
+shared libraries both use libio, however no one seems to be able to
+provide a clear explanation of exactly what is happening.
+
 Octave won't even compile
 -------------------------
 
@@ -58,7 +65,7 @@
 
 bash$ cat foo.cc
 #include <iostream.h>
-int main (void} { cerr << "yo\n"; return 0; }
+int main (void) { cerr << "yo\n"; return 0; }
 
 bash$ g++ -v foo.cc
 gcc -v foo.cc -lg++ -lstdc++ -lm
--- a/liboctave/Array2-idx.h	Tue Feb 04 20:12:19 1997 +0000
+++ b/liboctave/Array2-idx.h	Sat Feb 08 22:00:24 1997 +0000
@@ -163,21 +163,27 @@
 
   if (idx_i && idx_j)
     {
-      if (n == 0)
+      if (idx_i.orig_empty () || idx_j.orig_empty ())
 	{
-	  if (m == 0 || idx_j.is_colon_equiv (nc, 1))
+	  retval.resize (n, m);
+	}
+      else if (n == 0)
+	{
+	  if (m = 0)
 	    retval.resize (0, 0);
+	  else if (idx_j.is_colon_equiv (nc, 1))
+	    retval.resize (0, nc);
 	  else
-	    (*current_liboctave_error_handler)
-	      ("invalid row index = 0");
+	    (*current_liboctave_error_handler) ("invalid row index = 0");
 	}
       else if (m == 0)
 	{
-	  if (n == 0 || idx_i.is_colon_equiv (nr, 1))
+	  if (n == 0)
 	    retval.resize (0, 0);
+	  else if (idx_i.is_colon_equiv (nr, 1))
+	    retval.resize (nr, 0);
 	  else
-	    (*current_liboctave_error_handler)
-	      ("invalid column index = 0");
+	    (*current_liboctave_error_handler) ("invalid column index = 0");
 	}
       else if (idx_i.is_colon_equiv (nr) && idx_j.is_colon_equiv (nc))
 	{
--- a/liboctave/ChangeLog	Tue Feb 04 20:12:19 1997 +0000
+++ b/liboctave/ChangeLog	Sat Feb 08 22:00:24 1997 +0000
@@ -1,3 +1,11 @@
+Fri Feb  7 13:15:55 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* idx-vector.h (idx_vector::orig_empty): New function.
+
+	* Array2-idx.h (Array2<T>::index (idx_vector&, idx_vector&)):
+	Don't always resize to [](0x0) if one of the indices is empty or
+	zero.
+
 Sun Feb  2 22:33:44 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* cmd-hist.cc (command_history::read): New arg, must_exist.
--- a/liboctave/idx-vector.h	Tue Feb 04 20:12:19 1997 +0000
+++ b/liboctave/idx-vector.h	Sat Feb 08 22:00:24 1997 +0000
@@ -217,6 +217,12 @@
   int orig_rows (void) const { return rep->orig_rows (); }
   int orig_columns (void) const { return rep->orig_columns (); }
 
+  int orig_empty (void) const
+    {
+      return (! is_colon ()
+	      && (orig_rows () == 0 || orig_columns () == 0));
+    }
+
 // Unsafe.  Avoid at all cost.
   void shorten (int n) { rep->shorten (n); }
 
--- a/scripts/ChangeLog	Tue Feb 04 20:12:19 1997 +0000
+++ b/scripts/ChangeLog	Sat Feb 08 22:00:24 1997 +0000
@@ -1,3 +1,7 @@
+Fri Feb  7 12:55:55 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* specfun/erfinv.m: Fix typo in last change.
+
 Fri Jan 31 09:30:16 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* image/loadimage.m: Make it possible to load files with image
--- a/scripts/specfun/erfinv.m	Tue Feb 04 20:12:19 1997 +0000
+++ b/scripts/specfun/erfinv.m	Sat Feb 08 22:00:24 1997 +0000
@@ -38,7 +38,7 @@
   endif
 
   t = find (x == -1);
-  y (tmp) = (-Inf) * ones (size (t));
+  y (t) = (-Inf) * ones (size (t));
 
   t = find (x == 1);
   y (t) = Inf * ones (size (t));
--- a/src/ChangeLog	Tue Feb 04 20:12:19 1997 +0000
+++ b/src/ChangeLog	Sat Feb 08 22:00:24 1997 +0000
@@ -1,3 +1,9 @@
+Wed Feb  5 14:30:44 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* oct-stream.cc (scanf_format_list::process_conversion): Accept
+	but don't actually use h, l, and L modifiers.  Always insert l
+	modifier for floating point conversions.	
+
 Fri Jan 31 13:55:10 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* pager.cc (do_sync): Always flush the cout stream after writing.
--- a/src/oct-stream.cc	Tue Feb 04 20:12:19 1997 +0000
+++ b/src/oct-stream.cc	Sat Feb 08 22:00:24 1997 +0000
@@ -294,13 +294,11 @@
 	  break;
 
 	case 'h': case 'l': case 'L':
+	  // We accept these but we don't actually use them.
 	  if (modifier != '\0')
 	    nconv = -1;
 	  else
-	    {
-	      modifier = s[i];
-	      *buf << s[i++];
-	    }
+	    modifier = s[i++];
 	  break;
 
 	case 'd': case 'i': case 'o': case 'u': case 'x':
@@ -317,6 +315,10 @@
 	      nconv = -1;
 	      break;
 	    }
+
+	  // No float or long double conversions, thanks.
+	  *buf << 'l';
+
 	  goto fini;
 
 	case 'c': case 's': case 'p': case '%': case '[':