diff extra/patches/load-to-struct-2.0.19.patch @ 0:6b33357c7561 octave-forge

Initial revision
author pkienzle
date Wed, 10 Oct 2001 19:54:49 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/patches/load-to-struct-2.0.19.patch	Wed Oct 10 19:54:49 2001 +0000
@@ -0,0 +1,92 @@
+Hi,
+  The patch allows octave to load variables from a file into a structure
+variable, which is possible in Matlab. Patch is against 2.0.14. Cd to
+octave source and use patch -p1
+
+*** orig/ChangeLog	Mon Oct 30 16:49:53 2000
+--- octave-2.0.14/ChangeLog	Mon Oct 30 16:52:30 2000
+***************
+*** 1,3 ****
+--- 1,7 ----
++ Mon Oct 30 16:50:00 2000  K.M.A. Chai
++ 	* src/load-save.cc: included a quick hack in do_load(..) that allows
++ 	loading of variables from file into a structure variable, to make
++ 	octave more Matlab-compatible.
+  Sun Oct  1 17:25:32 2000  K.M.A. Chai
+  	* liboctave/dMatrix.h (Matrix cumprod (int dim = 0) const): Added
+  	extra argument indicate the dimension along which the operation is
+*** orig/src/load-save.cc	Mon Oct 30 16:47:08 2000
+--- octave-2.0.14/src/load-save.cc	Mon Oct 30 16:47:01 2000
+*************** Software Foundation, 59 Temple Place - S
+*** 48,53 ****
+--- 48,54 ----
+  #include "load-save.h"
+  #include "mappers.h"
+  #include "oct-obj.h"
++ #include "oct-map.h"
+  #include "pager.h"
+  #include "pt-exp.h"
+  #include "pt-fvc.h"
+*************** do_load (istream& stream, const string& 
+*** 1534,1539 ****
+--- 1535,1541 ----
+  	 int argv_idx, int argc, int nargout)
+  {
+    octave_value_list retval;
++   Octave_map retstruct;
+  
+    ostrstream output_buf;
+    int count = 0;
+*************** do_load (istream& stream, const string& 
+*** 1608,1614 ****
+  		    }
+  		  else
+  		    {
+! 		      install_loaded_variable (force, name, tc, global, doc);
+  		    }
+  		}
+  
+--- 1610,1623 ----
+  		    }
+  		  else
+  		    {
+! 		      if(nargout==1)
+! 			{
+! 			  retstruct[name]=tc;
+! 			}
+! 		      else
+! 			{
+! 			  install_loaded_variable (force, name, tc, global, doc);
+! 			}
+  		    }
+  		}
+  
+*************** do_load (istream& stream, const string& 
+*** 1636,1641 ****
+--- 1645,1655 ----
+  	}
+      }
+  
++   if(nargout==1)
++     {
++       retval = octave_value(retstruct);
++     }
++ 
+    if (list_only && count)
+      {
+        output_buf << ends;
+*************** do_load (istream& stream, const string& 
+*** 1655,1662 ****
+--- 1669,1680 ----
+  
+  DEFUN_TEXT (load, args, nargout,
+    "load [-force] [-ascii] [-binary] [-mat-binary] file [pattern ...]\n\
++    argout = load [-force] [-ascii] [-binary] [-mat-binary] file [pattern ...]\n\
+  \n\
+  Load variables from a file.\n\
++ \n\
++ if argout is given on the LHS, then the variables are loaded into variable argout\n\
++ as a structure.\n\
+  \n\
+  If no argument is supplied to select a format, load tries to read the\n\
+  named file as an Octave binary, then as a .mat file, and then as an\n\