From: <and...@us...> - 2007-06-15 08:59:44
|
Revision: 7716 http://plplot.svn.sourceforge.net/plplot/?rev=7716&view=rev Author: andrewross Date: 2007-06-15 01:59:46 -0700 (Fri, 15 Jun 2007) Log Message: ----------- By default matwrap will always return a minimum size of 1 for the dimension of an array. The comment says this is because scalars sometimes return -1 or 0 for the size. I don't see this problem with brief tests on octave 2.1.73. This constraint breaks plstyl, which requires zero size arrays to be passed. Remove the constraint in matwrap so a dimension of 0 is ok. All plplot tests still work as expected. Modified Paths: -------------- trunk/bindings/octave/matwrap/wrap_octave.pl Modified: trunk/bindings/octave/matwrap/wrap_octave.pl =================================================================== --- trunk/bindings/octave/matwrap/wrap_octave.pl 2007-06-15 07:49:19 UTC (rev 7715) +++ trunk/bindings/octave/matwrap/wrap_octave.pl 2007-06-15 08:59:46 UTC (rev 7716) @@ -1032,12 +1032,12 @@ _dim(const octave_value &o_obj, int dim_idx) { if (dim_idx == 0) - return max(o_obj.rows(), 1); + return max(o_obj.rows(), 0); // max is necessary because sometimes // rows() or columns() return -1 or 0 for // scalars. else if (dim_idx == 1) - return max(o_obj.columns(), 1); + return max(o_obj.columns(), 0); else return 1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2007-06-18 08:22:45
|
Revision: 7719 http://plplot.svn.sourceforge.net/plplot/?rev=7719&view=rev Author: andrewross Date: 2007-06-18 01:22:46 -0700 (Mon, 18 Jun 2007) Log Message: ----------- Modified version of matwrap which 1) Corrects bug for gcc 3.2 and greater where we required std::string rather than string. This was formerly handled by cmake / sed. 2) Allows zero length arrays in octave bindings. This ensures that plstyl now works as expected with a null array resetting the line style to a solid line Modified Paths: -------------- trunk/bindings/octave/matwrap/wrap_octave.pl Modified: trunk/bindings/octave/matwrap/wrap_octave.pl =================================================================== --- trunk/bindings/octave/matwrap/wrap_octave.pl 2007-06-18 08:20:32 UTC (rev 7718) +++ trunk/bindings/octave/matwrap/wrap_octave.pl 2007-06-18 08:22:46 UTC (rev 7719) @@ -10,6 +10,11 @@ # Copyright (c) 1997 Gary R. Holt. This is distributed under the terms of the # perl artistic license (http://language.perl.com/misc/Artistic.html). # +# Modifications 2007 Andrew Ross +# This version contains two local fixes for plplot +# 1) Change _dim function to allow a zero length array (required by plstyl) +# 2) Alter string to std::string for compatibility with gcc3.2 and later +# package octave; # Everything should be in this package. @@ -648,7 +653,7 @@ $typemap_get_scalar{'char *'} = sub { my ($arg, $argname) = @_; # Name the arguments. - (" string _$argname = $arg->{oct_expr}.string_value();\n" . + (" std::string _$argname = $arg->{oct_expr}.string_value();\n" . # Get the string. " _$argname += '\\0';\n" . # Make sure it's null terminated. " $arg->{c_var_name} = (char *)_$argname.data();\n"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2008-02-29 16:15:21
|
Revision: 8252 http://plplot.svn.sourceforge.net/plplot/?rev=8252&view=rev Author: andrewross Date: 2008-02-29 08:15:26 -0800 (Fri, 29 Feb 2008) Log Message: ----------- Fix to wrap_octave to get the correct version of print_usage with octave 3.0. Thanks to Rafael for the fix. Modified Paths: -------------- trunk/bindings/octave/matwrap/wrap_octave.pl Modified: trunk/bindings/octave/matwrap/wrap_octave.pl =================================================================== --- trunk/bindings/octave/matwrap/wrap_octave.pl 2008-02-24 14:12:35 UTC (rev 8251) +++ trunk/bindings/octave/matwrap/wrap_octave.pl 2008-02-29 16:15:26 UTC (rev 8252) @@ -18,7 +18,10 @@ # from v2.1 to v2.9. This requires a file octave_version.pl which defines # the variable octave_version. # +# Modifications 2008 Rafael Laboissiere +# Change 3) above is adapted for Octave v3.0 + package octave; # Everything should be in this package. @function_names = (); # This table translates function names and @@ -158,7 +161,7 @@ # Permissible not to specify output args # if there is only one. @ver = split(/\./,$octave_version); - if ($ver[0] >= 2 && $ver[1] >= 9) { + if ($ver[0] >= 3 || ($ver[0] >= 2 && $ver[1] >= 9)) { $retstr .= (")\n" . " {\n" . " print_usage();\n" . # Give an error. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |