changeset 3812:23994b10c8b7

[project @ 2001-04-18 18:43:51 by jwe]
author jwe
date Wed, 18 Apr 2001 18:43:52 +0000
parents 855bf76e1fe1
children 8986086e3e0f
files src/ChangeLog src/DLD-FUNCTIONS/det.cc src/load-save.cc
diffstat 3 files changed, 13 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Apr 18 03:44:31 2001 +0000
+++ b/src/ChangeLog	Wed Apr 18 18:43:52 2001 +0000
@@ -1,3 +1,10 @@
+2001-04-18  Mumit Khan  <khan@nanotech.wisc.edu>
+
+	* load-save.cc (read_mat5_binary_element): Cast arguments to the
+	correct type when adding stream positions.
+	* DLD-FUNCTIONS/det.cc (det): Explicity create a Complex value to
+	work around a Sun C++ type conversion bug.
+
 2001-04-17  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* symtab.cc (define_builtin_const): Don't call replace_all_defs
--- a/src/DLD-FUNCTIONS/det.cc	Wed Apr 18 03:44:31 2001 +0000
+++ b/src/DLD-FUNCTIONS/det.cc	Wed Apr 18 18:43:52 2001 +0000
@@ -104,7 +104,7 @@
 	  if (nargout > 1)
 	    retval(1) = rcond;
 
-	  retval(0) = (info == -1 ? 0.0 : det.value ());
+	  retval(0) = (info == -1 ? Complex (0.0) : det.value ());
 	}
     }
   else
--- a/src/load-save.cc	Wed Apr 18 03:44:31 2001 +0000
+++ b/src/load-save.cc	Wed Apr 18 18:43:52 2001 +0000
@@ -2545,7 +2545,7 @@
 
     // delay checking for a multidimensional array until we have read
     // the variable name
-    is.seekg (pos + dimension_length);
+    is.seekg (pos + static_cast<std::streamoff> (dimension_length));
   }
 
   // array name subelement
@@ -2567,7 +2567,7 @@
 	if (! is.read (X_CAST (char *, name), len ))
 	  goto data_read_error;
 	
-	is.seekg (pos + PAD (len));
+	is.seekg (pos + static_cast<std::streamoff> (PAD (len)));
       }
 
     name[len] = '\0';
@@ -2682,7 +2682,7 @@
 	    goto data_read_error;
 	  }
 
-	is.seekg (pos + PAD (len));
+	is.seekg (pos + static_cast<std::streamoff> (PAD (len)));
       }
       
       // imaginary data subelement
@@ -2720,7 +2720,7 @@
 	tc = tc.convert_to_str ();
     }
 
-  is.seekg (pos + element_length);
+  is.seekg (pos + static_cast<std::streamoff> (element_length));
 
   return name;
 
@@ -2734,7 +2734,7 @@
  skip_ahead:
   warning ("      skipping over `%s'", name);
   delete [] name;
-  is.seekg (pos + element_length);
+  is.seekg (pos + static_cast<std::streamoff> (element_length));
   return read_mat5_binary_element (is, filename, swap, global, tc);
 }