From maintainers-request at octave dot org Thu Apr 13 15:16:57 2006 Subject: Re: Beyond 2.9.5 From: David Bateman To: "John W. Eaton" CC: octave maintainers mailing list Date: Thu, 13 Apr 2006 22:11:42 +0200 John W. Eaton wrote: >On 12-Apr-2006, I wrote: > >| On 4-Apr-2006, David Bateman wrote: >| >| | For the changes for the octave_value class I'm not sure I see what we >| | are winning. >| >| The change is not absolutely necessary (things work now) but it seems >| like a somewhat cleaner way of doing things. Given that the necessary >| changes to user-defined types are relatively small, I think I'd like >| to go ahead with this change. > >I checked in a relatively large patch for this change. I'm attaching >the changes I needed to adapt Octave Forge. I used some #defines to >preserve compatibility with older versions of Octave. > > Ok, then welcome everybody on 2.9.5+ to the bleeding edge :-) >Note that the definition of OV_REP_TYPE is meant to be temporary, so >when Octave Forge is cleaned for 3.0 it should be replaced by >octave_base_value and the definition removed from octave/ov.h. > >jwe > > I don't believe the idea was to have another octave-forge release till the tidy up was done and perhaps never again in a monolithic form. Quentin's already tidied up quite a bit of octave-forge, though not all (notable the system call output arg order). So frankly I see no reason not to go straight to the final solution. If anyone disagrees with making the CVS head of octave-forge a 2.9.5+ affair only, the nows a good time to speak :-)... BTW, do want to apply the patch to octave-forge, or have someone else do it? D. > > >------------------------------------------------------------------------ > >Index: extra/linear-algebra/ov-re-tri.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/extra/linear-algebra/ov-re-tri.cc,v >retrieving revision 1.7 >diff -u -r1.7 ov-re-tri.cc >--- extra/linear-algebra/ov-re-tri.cc 25 May 2005 03:43:38 -0000 1.7 >+++ extra/linear-algebra/ov-re-tri.cc 13 Apr 2006 13:03:51 -0000 > at @ -26,28 +26,28 @@ > { > } > >-octave_value *octave_tri::clone(void) const >+OV_REP_TYPE *octave_tri::clone(void) const > { > return new octave_tri(*this); > } > >-static octave_value * >-tri_numeric_conversion_function(const octave_value& a) >+static OV_REP_TYPE * >+tri_numeric_conversion_function(const OV_REP_TYPE& a) > { > CAST_CONV_ARG (const octave_tri &); > > return new octave_matrix (v.matrix_value()); > } > >-type_conv_fcn >+TYPE_CONV_FCN > octave_tri::numeric_conversion_function (void) const > { > return tri_numeric_conversion_function; > } > >-octave_value * octave_tri::try_narrowing_conversion(void) >+OV_REP_TYPE * octave_tri::try_narrowing_conversion(void) > { >- octave_value *retval = octave_matrix::try_narrowing_conversion(); >+ OV_REP_TYPE *retval = octave_matrix::try_narrowing_conversion(); > > if ( retval==0){ > int nr = matrix.rows (); >Index: extra/linear-algebra/ov-re-tri.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/extra/linear-algebra/ov-re-tri.h,v >retrieving revision 1.4 >diff -u -r1.4 ov-re-tri.h >--- extra/linear-algebra/ov-re-tri.h 23 Nov 2003 14:21:38 -0000 1.4 >+++ extra/linear-algebra/ov-re-tri.h 13 Apr 2006 13:03:51 -0000 > at @ -18,6 +18,13 @@ > #include > #include > >+#ifdef OV_REP_TYPE >+#define TYPE_CONV_FCN OV_REP_TYPE::type_conv_fcn >+#else >+#define OV_REP_TYPE octave_value >+#define TYPE_CONV_FCN type_conv_fcn >+#endif >+ > class Octave_map; > class octave_value_list; > > at @ -38,10 +45,10 @@ > ~octave_tri(void); > octave_tri (const octave_tri& D); > >- octave_value *clone (void) const; >+ OV_REP_TYPE *clone (void) const; > >- type_conv_fcn numeric_conversion_function (void) const; >- octave_value * try_narrowing_conversion(void); >+ TYPE_CONV_FCN numeric_conversion_function (void) const; >+ OV_REP_TYPE * try_narrowing_conversion(void); > > inline tri_type tri_value(void) const { return tri;}; > void assign (const octave_value_list& idx, const Matrix& rhs); >Index: main/comm/ov-galois.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/comm/ov-galois.cc,v >retrieving revision 1.13 >diff -u -r1.13 ov-galois.cc >--- main/comm/ov-galois.cc 9 Nov 2004 23:34:49 -0000 1.13 >+++ main/comm/ov-galois.cc 13 Apr 2006 13:03:51 -0000 > at @ -27,10 +27,14 @@ > #endif > > #include >+#include > #include >+#include > #include "galois.h" > #include "ov-galois.h" > >+extern int Vstruct_levels_to_print; >+ > #ifdef CLASS_HAS_LOAD_SAVE > #include > #include >Index: main/comm/ov-galois.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/comm/ov-galois.h,v >retrieving revision 1.7 >diff -u -r1.7 ov-galois.h >--- main/comm/ov-galois.h 9 Nov 2004 23:34:49 -0000 1.7 >+++ main/comm/ov-galois.h 13 Apr 2006 13:03:51 -0000 > at @ -61,6 +61,10 @@ > #define __GALOIS_INDEX_OF_STR "index_of" > #endif > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > class octave_value_list; > class tree_walker; > > at @ -82,8 +86,8 @@ > > ~octave_galois (void) { }; > >- octave_value *clone (void) const { return new octave_galois (*this); } >- octave_value *empty_clone (void) const { return new octave_galois (); } >+ OV_REP_TYPE *clone (void) const { return new octave_galois (*this); } >+ OV_REP_TYPE *empty_clone (void) const { return new octave_galois (); } > > octave_value subsref (const std::string SUBSREF_STRREF type, > const LIST& idx); >Index: main/fixed/ov-fixed-complex.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-complex.cc,v >retrieving revision 1.4 >diff -u -r1.4 ov-fixed-complex.cc >--- main/fixed/ov-fixed-complex.cc 9 Nov 2004 23:34:49 -0000 1.4 >+++ main/fixed/ov-fixed-complex.cc 13 Apr 2006 13:03:51 -0000 > at @ -204,10 +204,10 @@ > return retval; > } > >-octave_value * >+OV_REP_TYPE * > octave_fixed_complex::try_narrowing_conversion (void) > { >- octave_value *retval = 0; >+ OV_REP_TYPE *retval = 0; > > if (imag (scalar) == FixedPoint()) > retval = new octave_fixed (real (scalar)); >Index: main/fixed/ov-fixed-complex.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-complex.h,v >retrieving revision 1.5 >diff -u -r1.5 ov-fixed-complex.h >--- main/fixed/ov-fixed-complex.h 12 Feb 2006 07:15:28 -0000 1.5 >+++ main/fixed/ov-fixed-complex.h 13 Apr 2006 13:03:51 -0000 > at @ -60,6 +60,10 @@ > #include "fixedComplex.h" > #include "ov-fixed.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > class Octave_map; > class octave_value_list; > > at @ -115,11 +119,11 @@ > > bool is_true (void) const { return (scalar != FixedPointComplex()); } > >- octave_value *clone (void) const { return new octave_fixed_complex (*this); } >- octave_value *empty_clone (void) const >+ OV_REP_TYPE *clone (void) const { return new octave_fixed_complex (*this); } >+ OV_REP_TYPE *empty_clone (void) const > { return new octave_fixed_complex (); } > >- octave_value *try_narrowing_conversion (void); >+ OV_REP_TYPE *try_narrowing_conversion (void); > > octave_value do_index_op (const octave_value_list& idx, int resize_ok = 0); > >Index: main/fixed/ov-fixed-cx-mat.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-cx-mat.cc,v >retrieving revision 1.5 >diff -u -r1.5 ov-fixed-cx-mat.cc >--- main/fixed/ov-fixed-cx-mat.cc 9 Nov 2004 23:34:49 -0000 1.5 >+++ main/fixed/ov-fixed-cx-mat.cc 13 Apr 2006 13:03:51 -0000 > at @ -318,10 +318,10 @@ > return retval; > } > >-octave_value * >+OV_REP_TYPE * > octave_fixed_complex_matrix::try_narrowing_conversion (void) > { >- octave_value *retval = 0; >+ OV_REP_TYPE *retval = 0; > > int nr = matrix.rows (); > int nc = matrix.cols (); >Index: main/fixed/ov-fixed-cx-mat.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-cx-mat.h,v >retrieving revision 1.4 >diff -u -r1.4 ov-fixed-cx-mat.h >--- main/fixed/ov-fixed-cx-mat.h 9 Nov 2004 23:34:49 -0000 1.4 >+++ main/fixed/ov-fixed-cx-mat.h 13 Apr 2006 13:03:51 -0000 > at @ -48,6 +48,10 @@ > #include "fixedCColVector.h" > #include "fixedCMatrix.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > class Octave_map; > class octave_value_list; > > at @ -83,8 +87,8 @@ > > ~octave_fixed_complex_matrix (void) { } > >- octave_value *clone (void) const { return new octave_fixed_complex_matrix (*this); } >- octave_value *empty_clone (void) const { return new octave_fixed_complex_matrix (); } >+ OV_REP_TYPE *clone (void) const { return new octave_fixed_complex_matrix (*this); } >+ OV_REP_TYPE *empty_clone (void) const { return new octave_fixed_complex_matrix (); } > > octave_value do_index_op (const octave_value_list& idx) > { return do_index_op (idx, 0); } > at @ -96,7 +100,7 @@ > const std::list& idx, > const octave_value& rhs); > >- octave_value *try_narrowing_conversion (void); >+ OV_REP_TYPE *try_narrowing_conversion (void); > > bool is_complex_matrix (void) const { return true; } > >Index: main/fixed/ov-fixed-mat.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-mat.cc,v >retrieving revision 1.6 >diff -u -r1.6 ov-fixed-mat.cc >--- main/fixed/ov-fixed-mat.cc 9 Nov 2004 23:34:49 -0000 1.6 >+++ main/fixed/ov-fixed-mat.cc 13 Apr 2006 13:03:52 -0000 > at @ -290,10 +290,10 @@ > return retval; > } > >-octave_value * >+OV_REP_TYPE * > octave_fixed_matrix::try_narrowing_conversion (void) > { >- octave_value *retval = 0; >+ OV_REP_TYPE *retval = 0; > > int nr = matrix.rows (); > int nc = matrix.cols (); >Index: main/fixed/ov-fixed-mat.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-mat.h,v >retrieving revision 1.4 >diff -u -r1.4 ov-fixed-mat.h >--- main/fixed/ov-fixed-mat.h 9 Nov 2004 23:34:49 -0000 1.4 >+++ main/fixed/ov-fixed-mat.h 13 Apr 2006 13:03:52 -0000 > at @ -55,6 +55,10 @@ > #include "fixedMatrix.h" > #include "fixedCMatrix.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > class Octave_map; > class octave_value_list; > > at @ -84,8 +88,8 @@ > > ~octave_fixed_matrix (void) { } > >- octave_value *clone (void) const { return new octave_fixed_matrix (*this); } >- octave_value *empty_clone (void) const { return new octave_fixed_matrix (); } >+ OV_REP_TYPE *clone (void) const { return new octave_fixed_matrix (*this); } >+ OV_REP_TYPE *empty_clone (void) const { return new octave_fixed_matrix (); } > > octave_value do_index_op (const octave_value_list& idx) > { return do_index_op (idx, 0); } > at @ -97,7 +101,7 @@ > const std::list& idx, > const octave_value& rhs); > >- octave_value *try_narrowing_conversion (void); >+ OV_REP_TYPE *try_narrowing_conversion (void); > > bool is_real_matrix (void) const { return true; } > >Index: main/fixed/ov-fixed.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed.h,v >retrieving revision 1.4 >diff -u -r1.4 ov-fixed.h >--- main/fixed/ov-fixed.h 9 Nov 2004 23:34:49 -0000 1.4 >+++ main/fixed/ov-fixed.h 13 Apr 2006 13:03:52 -0000 > at @ -56,6 +56,10 @@ > #include "fixedComplex.h" > #include "fixedCMatrix.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > class Octave_map; > class octave_value_list; > > at @ -101,8 +105,8 @@ > > bool is_real_type (void) const { return true; } > >- octave_value *clone (void) const { return new octave_fixed (*this); } >- octave_value *empty_clone (void) const { return new octave_fixed (); } >+ OV_REP_TYPE *clone (void) const { return new octave_fixed (*this); } >+ OV_REP_TYPE *empty_clone (void) const { return new octave_fixed (); } > > octave_value do_index_op (const octave_value_list& idx, int resize_ok = 0); > idx_vector index_vector (void) const >Index: main/miscellaneous/Makefile >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/miscellaneous/Makefile,v >retrieving revision 1.20 >diff -u -r1.20 Makefile >--- main/miscellaneous/Makefile 29 Mar 2006 13:50:14 -0000 1.20 >+++ main/miscellaneous/Makefile 13 Apr 2006 13:03:52 -0000 > at @ -5,7 +5,7 @@ > endif > > DISPATCH_LINK=$(patsubst %,%$(OCTLINK), dispatch_help builtin) >-TARGETS=mfilename.oct waitbar.oct listen.oct xmlread.oct \ >+TARGETS=waitbar.oct listen.oct xmlread.oct \ > csvexplode.oct csv2cell.oct csvconcat.oct cell2csv.oct > > all: $(TARGETS) > at @ -14,9 +14,6 @@ > -$(RM) $ at > $(MKOCTLINK) dispatch.oct $ at > >-mfilename.oct: mfilename.cc >- $(MKOCTFILE) $(MISCDEFS) mfilename.cc >- > waitbar.oct: waitbar.cc > $(MKOCTFILE) $(MISCDEFS) waitbar.cc $(TERM_LIB) > >Index: main/octcdf/ov-ncatt.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncatt.cc,v >retrieving revision 1.3 >diff -u -r1.3 ov-ncatt.cc >--- main/octcdf/ov-ncatt.cc 9 Jan 2006 21:02:37 -0000 1.3 >+++ main/octcdf/ov-ncatt.cc 13 Apr 2006 13:03:52 -0000 > at @ -172,7 +172,12 @@ > > ov_nc_put_att(get_ncid(),get_varid(),get_name(),get_nctype(),rhs); > >+#ifdef OV_REP_TYPE >+ count++; >+ retval = octave_value(this); >+#else > retval = octave_value(this, count + 1); >+#endif > > return retval; > >Index: main/octcdf/ov-ncatt.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncatt.h,v >retrieving revision 1.3 >diff -u -r1.3 ov-ncatt.h >--- main/octcdf/ov-ncatt.h 18 Feb 2006 22:06:27 -0000 1.3 >+++ main/octcdf/ov-ncatt.h 13 Apr 2006 13:03:52 -0000 > at @ -22,6 +22,10 @@ > > #include "ov-netcdf.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > typedef struct { > nc_type nctype; > dim_vector dimvec; > at @ -43,7 +47,7 @@ > octave_ncatt(octave_ncfile* ncvarp, int attnump); > octave_ncatt(octave_ncfile* ncvarp, std::string attnamep); > >- octave_value *clone(void) const { return new octave_ncatt(*this); } >+ OV_REP_TYPE *clone(void) const { return new octave_ncatt(*this); } > > octave_value subsasgn(const std::string & type, > const LIST < octave_value_list > &idx, >Index: main/octcdf/ov-ncdim.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncdim.cc,v >retrieving revision 1.3 >diff -u -r1.3 ov-ncdim.cc >--- main/octcdf/ov-ncdim.cc 9 Jan 2006 21:02:37 -0000 1.3 >+++ main/octcdf/ov-ncdim.cc 13 Apr 2006 13:03:52 -0000 > at @ -75,7 +75,12 @@ > // # endif > > >+// #ifdef OV_REP_TYPE >+// // count++; >+// // retval = octave_value(this); >+// #else > // // retval = octave_value(this, count + 1); >+// #endif > > // return retval; > >Index: main/octcdf/ov-ncdim.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncdim.h,v >retrieving revision 1.3 >diff -u -r1.3 ov-ncdim.h >--- main/octcdf/ov-ncdim.h 18 Feb 2006 22:06:27 -0000 1.3 >+++ main/octcdf/ov-ncdim.h 13 Apr 2006 13:03:52 -0000 > at @ -22,6 +22,10 @@ > > #include "ov-netcdf.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > typedef struct { > octave_ncfile* ncfile; > std::string dimname; > at @ -39,7 +43,7 @@ > > octave_ncdim(octave_ncfile* ncfile, int dimid); > >- octave_value *clone(void) const { return new octave_ncdim(*this); } >+ OV_REP_TYPE *clone(void) const { return new octave_ncdim(*this); } > > // octave_value subsasgn(const std::string & type, > // const LIST < octave_value_list > &idx, >Index: main/octcdf/ov-ncfile.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncfile.cc,v >retrieving revision 1.3 >diff -u -r1.3 ov-ncfile.cc >--- main/octcdf/ov-ncfile.cc 9 Jan 2006 21:02:37 -0000 1.3 >+++ main/octcdf/ov-ncfile.cc 13 Apr 2006 13:03:52 -0000 > at @ -284,7 +284,13 @@ > > read_info(); > >+#ifdef OV_REP_TYPE >+ count++; >+ retval = octave_value(this); >+#else > retval = octave_value(this, count + 1); >+#endif >+ > return retval; > > >Index: main/octcdf/ov-ncfile.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncfile.h,v >retrieving revision 1.2 >diff -u -r1.2 ov-ncfile.h >--- main/octcdf/ov-ncfile.h 9 Jan 2006 21:02:37 -0000 1.2 >+++ main/octcdf/ov-ncfile.h 13 Apr 2006 13:03:52 -0000 > at @ -23,6 +23,9 @@ > > #include "ov-netcdf.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif > > typedef struct { > int ncid; > at @ -40,7 +43,7 @@ > > octave_ncfile(string filenamep, string open_mode); > >- octave_value *clone(void) const { return new octave_ncfile(*this); } >+ OV_REP_TYPE *clone(void) const { return new octave_ncfile(*this); } > > // x.v = y x(idx).v = y x{idx}.v = y > >Index: main/octcdf/ov-ncvar.cc >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncvar.cc,v >retrieving revision 1.5 >diff -u -r1.5 ov-ncvar.cc >--- main/octcdf/ov-ncvar.cc 10 Feb 2006 23:13:33 -0000 1.5 >+++ main/octcdf/ov-ncvar.cc 13 Apr 2006 13:03:52 -0000 > at @ -232,7 +232,12 @@ > // update characteristics > read_info(); > >+#ifdef OV_REP_TYPE >+ count++; >+ retval = octave_value(this); >+#else > retval = octave_value(this, count + 1); >+#endif > > return retval; > }; >Index: main/octcdf/ov-ncvar.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncvar.h,v >retrieving revision 1.5 >diff -u -r1.5 ov-ncvar.h >--- main/octcdf/ov-ncvar.h 18 Feb 2006 22:06:27 -0000 1.5 >+++ main/octcdf/ov-ncvar.h 13 Apr 2006 13:03:52 -0000 > at @ -22,6 +22,10 @@ > > #include "ov-netcdf.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > typedef struct { > std::list dimnames; > int dimids[NC_MAX_VAR_DIMS]; > at @ -55,7 +59,7 @@ > > octave_ncvar(nc_type nctypep, std::list dimnamesp):octave_base_value(), ncv(NULL) { } > >- octave_value *clone(void) const { return new octave_ncvar(*this); } >+ OV_REP_TYPE *clone(void) const { return new octave_ncvar(*this); } > > // x.v = y x(idx).v = y x{idx}.v = y > >Index: main/symbolic/ov-ex-mat.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-ex-mat.h,v >retrieving revision 1.4 >diff -u -r1.4 ov-ex-mat.h >--- main/symbolic/ov-ex-mat.h 17 Nov 2003 17:04:40 -0000 1.4 >+++ main/symbolic/ov-ex-mat.h 13 Apr 2006 13:03:52 -0000 > at @ -23,6 +23,10 @@ > > #include > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > class octave_matrix; > class octave_complex_matrix; > > at @ -55,7 +59,7 @@ > return GiNaC::ex(x); > } > >- octave_value *clone (void) >+ OV_REP_TYPE *clone (void) > { > return new octave_ex_matrix (*this); > } >Index: main/symbolic/ov-ex.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-ex.h,v >retrieving revision 1.7 >diff -u -r1.7 ov-ex.h >--- main/symbolic/ov-ex.h 17 Nov 2003 17:04:40 -0000 1.7 >+++ main/symbolic/ov-ex.h 13 Apr 2006 13:03:52 -0000 > at @ -27,6 +27,9 @@ > #include > #include "ov-vpa.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif > > class octave_complex; > class octave_scalar; > at @ -54,7 +57,7 @@ > return x; > } > >- octave_value *clone (void) >+ OV_REP_TYPE *clone (void) > { > return new octave_ex (*this); > } >Index: main/symbolic/ov-relational.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-relational.h,v >retrieving revision 1.4 >diff -u -r1.4 ov-relational.h >--- main/symbolic/ov-relational.h 17 Nov 2003 17:04:41 -0000 1.4 >+++ main/symbolic/ov-relational.h 13 Apr 2006 13:03:52 -0000 > at @ -26,6 +26,10 @@ > #include > #include "ov-ex.h" > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > // relational values. > > class > at @ -55,7 +59,7 @@ > > ~octave_relational (void) { } > >- octave_value *clone (void) { return new octave_relational (*this); } >+ OV_REP_TYPE *clone (void) { return new octave_relational (*this); } > > #ifdef HAVE_ND_ARRAYS > dim_vector dims (void) const { static dim_vector dv (1, 1); return dv; } >Index: main/symbolic/ov-vpa.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-vpa.h,v >retrieving revision 1.5 >diff -u -r1.5 ov-vpa.h >--- main/symbolic/ov-vpa.h 17 Nov 2003 17:04:41 -0000 1.5 >+++ main/symbolic/ov-vpa.h 13 Apr 2006 13:03:52 -0000 > at @ -25,6 +25,10 @@ > #include > #include > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > // vpa values. > > class > at @ -40,7 +44,7 @@ > > ~octave_vpa (void) { } > >- octave_value *clone (void) { return new octave_vpa (*this); } >+ OV_REP_TYPE *clone (void) { return new octave_vpa (*this); } > > #if 0 > void *operator new (size_t size); >Index: nonfree/gpc/octave-gpc.h >=================================================================== >RCS file: /cvsroot/octave/octave-forge/nonfree/gpc/octave-gpc.h,v >retrieving revision 1.3 >diff -u -r1.3 octave-gpc.h >--- nonfree/gpc/octave-gpc.h 5 Jan 2004 21:20:01 -0000 1.3 >+++ nonfree/gpc/octave-gpc.h 13 Apr 2006 13:03:52 -0000 > at @ -29,6 +29,10 @@ > #include > } > >+#ifndef OV_REP_TYPE >+#define OV_REP_TYPE octave_value >+#endif >+ > void octave_gpc_free_polygon (gpc_polygon*); > > gpc_polygon* get_gpc_pt (octave_value); > at @ -62,7 +66,7 @@ > > ~octave_gpc_polygon (void) { octave_gpc_free_polygon (polygon); } > >- octave_value* clone (void) { return new octave_gpc_polygon (*this); } >+ OV_REP_TYPE* clone (void) { return new octave_gpc_polygon (*this); } > > bool is_defined (void) const { return true; } > > > -- David Bateman David dot Bateman at motorola dot com Motorola Labs - Paris +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 6 72 01 06 33 (Mob) 91193 Gif-Sur-Yvette FRANCE +33 1 69 35 77 01 (Fax) The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary