[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Beyond 2.9.5
From: |
David Bateman |
Subject: |
Re: Beyond 2.9.5 |
Date: |
Thu, 13 Apr 2006 22:11:42 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.6-7.5.20060mdk (X11/20050322) |
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
>@@ -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
>@@ -18,6 +18,13 @@
> #include <octave/symtab.h>
> #include <octave/variables.h>
>
>+#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;
>
>@@ -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
>@@ -27,10 +27,14 @@
> #endif
>
> #include <iostream>
>+#include <octave/config.h>
> #include <octave/unwind-prot.h>
>+#include <octave/pr-output.h>
> #include "galois.h"
> #include "ov-galois.h"
>
>+extern int Vstruct_levels_to_print;
>+
> #ifdef CLASS_HAS_LOAD_SAVE
> #include <octave/byte-swap.h>
> #include <octave/ls-oct-ascii.h>
>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
>@@ -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;
>
>@@ -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<octave_value_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
>@@ -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
>@@ -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;
>
>@@ -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
>@@ -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
>@@ -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;
>
>@@ -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); }
>@@ -96,7 +100,7 @@
> const std::list<octave_value_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
>@@ -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
>@@ -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;
>
>@@ -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); }
>@@ -97,7 +101,7 @@
> const std::list<octave_value_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
>@@ -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;
>
>@@ -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
>@@ -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)
>@@ -14,9 +14,6 @@
> -$(RM) $@
> $(MKOCTLINK) dispatch.oct $@
>
>-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
>@@ -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
>@@ -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;
>@@ -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
>@@ -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
>@@ -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;
>@@ -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
>@@ -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
>@@ -23,6 +23,9 @@
>
> #include "ov-netcdf.h"
>
>+#ifndef OV_REP_TYPE
>+#define OV_REP_TYPE octave_value
>+#endif
>
> typedef struct {
> int ncid;
>@@ -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
>@@ -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
>@@ -22,6 +22,10 @@
>
> #include "ov-netcdf.h"
>
>+#ifndef OV_REP_TYPE
>+#define OV_REP_TYPE octave_value
>+#endif
>+
> typedef struct {
> std::list<std::string> dimnames;
> int dimids[NC_MAX_VAR_DIMS];
>@@ -55,7 +59,7 @@
>
> octave_ncvar(nc_type nctypep, std::list <std::string>
> 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
>@@ -23,6 +23,10 @@
>
> #include <ginac/ginac.h>
>
>+#ifndef OV_REP_TYPE
>+#define OV_REP_TYPE octave_value
>+#endif
>+
> class octave_matrix;
> class octave_complex_matrix;
>
>@@ -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
>@@ -27,6 +27,9 @@
> #include <octave/ov-scalar.h>
> #include "ov-vpa.h"
>
>+#ifndef OV_REP_TYPE
>+#define OV_REP_TYPE octave_value
>+#endif
>
> class octave_complex;
> class octave_scalar;
>@@ -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
>@@ -26,6 +26,10 @@
> #include <octave/ov-base.h>
> #include "ov-ex.h"
>
>+#ifndef OV_REP_TYPE
>+#define OV_REP_TYPE octave_value
>+#endif
>+
> // relational values.
>
> class
>@@ -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
>@@ -25,6 +25,10 @@
> #include <ginac/ginac.h>
> #include <octave/ov-base.h>
>
>+#ifndef OV_REP_TYPE
>+#define OV_REP_TYPE octave_value
>+#endif
>+
> // vpa values.
>
> class
>@@ -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
>@@ -29,6 +29,10 @@
> #include <gpcl/gpc.h>
> }
>
>+#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);
>@@ -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 address@hidden
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