Mercurial > forge
changeset 5248:f8d77845533f octave-forge
Changes for compilation with 3.1.51+
line wrap: on
line diff
--- a/main/fixed/src/Array-f.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/Array-f.cc Thu Nov 13 22:49:30 2008 +0000 @@ -34,23 +34,25 @@ #include <octave/MArray.h> #include <octave/MArray.cc> +static bool +operator < (const FixedPointComplex& a, const FixedPointComplex& b) +{ + return ((abs (a) < abs (b)) || ((abs (a) == abs (b)) && + (arg (a) < arg (b)))); +} + +static bool +operator > (const FixedPointComplex& a, const FixedPointComplex& b) +{ + return ((abs (a) > abs (b)) || ((abs (a) == abs (b)) && + (arg (a) > arg (b)))); +} + template class OCTAVE_FIXED_API Array<FixedPoint>; template class MArray<FixedPoint>; template class OCTAVE_FIXED_API Array<FixedPointComplex>; template class MArray<FixedPointComplex>; -template int assign (Array<FixedPoint>&, const Array<FixedPoint>&); -template int assign (Array<FixedPointComplex>&, const Array<FixedPoint>&); -template int assign (Array<FixedPointComplex>&, - const Array<FixedPointComplex>&); - -template int assign (Array<FixedPoint>&, const Array<FixedPoint>&, - const FixedPoint&); -template int assign (Array<FixedPointComplex>&, const Array<FixedPoint>&, - const FixedPointComplex&); -template int assign (Array<FixedPointComplex>&, - const Array<FixedPointComplex>&, const FixedPointComplex&); - INSTANTIATE_MARRAY_FRIENDS (FixedPoint, ) INSTANTIATE_MARRAY_FRIENDS (FixedPointComplex, )
--- a/main/fixed/src/fixed.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixed.cc Thu Nov 13 22:49:30 2008 +0000 @@ -86,11 +86,7 @@ fixed_type_loaded = true; - // Lock constructor function in place, otherwise - // "a=fixed(3,1); clear functions; a" generates a seg-fault!! - // The below is the function "mlock", but in a way useable - // for older versions of octave as well. - fbi_sym_tab->lookup("fixed")->mark_as_static (); + mlock (); } // PKG_ADD: autoload ("display_fixed_operations", "fixed.oct");
--- a/main/fixed/src/fixedCColVector.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedCColVector.cc Thu Nov 13 22:49:30 2008 +0000 @@ -651,14 +651,14 @@ // other operations FixedComplexColumnVector -FixedComplexColumnVector::map (fc_fc_Mapper f) const +FixedComplexColumnVector::map (fpc_fpc_Mapper f) const { FixedComplexColumnVector b (*this); return b.apply (f); } FixedComplexColumnVector& -FixedComplexColumnVector::apply (fc_fc_Mapper f) +FixedComplexColumnVector::apply (fpc_fpc_Mapper f) { FixedPointComplex *d = fortran_vec (); // Ensures only one reference to my privates!
--- a/main/fixed/src/fixedCColVector.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedCColVector.h Thu Nov 13 22:49:30 2008 +0000 @@ -43,7 +43,7 @@ class FixedComplexMatrix; #endif -typedef FixedPointComplex (*fc_fc_Mapper)(FixedPointComplex); +typedef FixedPointComplex (*fpc_fpc_Mapper)(FixedPointComplex); class OCTAVE_FIXED_API @@ -196,9 +196,9 @@ // other operations - FixedComplexColumnVector map (fc_fc_Mapper f) const; + FixedComplexColumnVector map (fpc_fpc_Mapper f) const; - FixedComplexColumnVector& apply (fc_fc_Mapper f); + FixedComplexColumnVector& apply (fpc_fpc_Mapper f); FixedPointComplex min (void) const; FixedPointComplex max (void) const;
--- a/main/fixed/src/fixedCMatrix.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedCMatrix.cc Thu Nov 13 22:49:30 2008 +0000 @@ -1019,14 +1019,14 @@ // other operations. FixedComplexMatrix -FixedComplexMatrix::map (fc_fc_Mapper f) const +FixedComplexMatrix::map (fpc_fpc_Mapper f) const { FixedComplexMatrix b (*this); return b.apply (f); } FixedComplexMatrix& -FixedComplexMatrix::apply (fc_fc_Mapper f) +FixedComplexMatrix::apply (fpc_fpc_Mapper f) { FixedPointComplex *d = fortran_vec (); // Ensures only one reference to my privates!
--- a/main/fixed/src/fixedCMatrix.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedCMatrix.h Thu Nov 13 22:49:30 2008 +0000 @@ -47,7 +47,7 @@ class FixedComplexRowVector; #endif -typedef FixedPointComplex (*fc_fc_Mapper)(FixedPointComplex); +typedef FixedPointComplex (*fpc_fpc_Mapper)(FixedPointComplex); class OCTAVE_FIXED_API @@ -228,8 +228,8 @@ // other operations - FixedComplexMatrix map (fc_fc_Mapper f) const; - FixedComplexMatrix& apply (fc_fc_Mapper f); + FixedComplexMatrix map (fpc_fpc_Mapper f) const; + FixedComplexMatrix& apply (fpc_fpc_Mapper f); bool all_elements_are_real (void) const;
--- a/main/fixed/src/fixedCRowVector.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedCRowVector.cc Thu Nov 13 22:49:30 2008 +0000 @@ -647,14 +647,14 @@ // other operations FixedComplexRowVector -FixedComplexRowVector::map (fc_fc_Mapper f) const +FixedComplexRowVector::map (fpc_fpc_Mapper f) const { FixedComplexRowVector b (*this); return b.apply (f); } FixedComplexRowVector& -FixedComplexRowVector::apply (fc_fc_Mapper f) +FixedComplexRowVector::apply (fpc_fpc_Mapper f) { FixedPointComplex *d = fortran_vec (); // Ensures only one reference to my privates!
--- a/main/fixed/src/fixedCRowVector.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedCRowVector.h Thu Nov 13 22:49:30 2008 +0000 @@ -43,7 +43,7 @@ class FixedComplexMatrix; #endif -typedef FixedPointComplex (*fc_fc_Mapper)(FixedPointComplex); +typedef FixedPointComplex (*fpc_fpc_Mapper)(FixedPointComplex); class OCTAVE_FIXED_API @@ -193,9 +193,9 @@ // other operations - FixedComplexRowVector map (fc_fc_Mapper f) const; + FixedComplexRowVector map (fpc_fpc_Mapper f) const; - FixedComplexRowVector& apply (fc_fc_Mapper f); + FixedComplexRowVector& apply (fpc_fpc_Mapper f); FixedPointComplex min (void) const; FixedPointComplex max (void) const;
--- a/main/fixed/src/fixedColVector.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedColVector.cc Thu Nov 13 22:49:30 2008 +0000 @@ -459,14 +459,14 @@ // other operations FixedColumnVector -FixedColumnVector::map (f_f_Mapper f) const +FixedColumnVector::map (fp_fp_Mapper f) const { FixedColumnVector b (*this); return b.apply (f); } FixedColumnVector& -FixedColumnVector::apply (f_f_Mapper f) +FixedColumnVector::apply (fp_fp_Mapper f) { FixedPoint *d = fortran_vec (); // Ensures only one reference to my privates!
--- a/main/fixed/src/fixedColVector.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedColVector.h Thu Nov 13 22:49:30 2008 +0000 @@ -40,7 +40,7 @@ class FixedMatrix; #endif -typedef FixedPoint (*f_f_Mapper)(FixedPoint); +typedef FixedPoint (*fp_fp_Mapper)(FixedPoint); class OCTAVE_FIXED_API @@ -133,9 +133,9 @@ // other operations - FixedColumnVector map (f_f_Mapper f) const; + FixedColumnVector map (fp_fp_Mapper f) const; - FixedColumnVector& apply (f_f_Mapper f); + FixedColumnVector& apply (fp_fp_Mapper f); FixedPoint min (void) const; FixedPoint max (void) const;
--- a/main/fixed/src/fixedComplex.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedComplex.h Thu Nov 13 22:49:30 2008 +0000 @@ -198,6 +198,10 @@ return (x.getnumber()); } +inline bool xisnan (const FixedPointComplex &x) { + return false; +} + OCTAVE_FIXED_API FixedPointComplex operator ! (const FixedPointComplex &x); OCTAVE_FIXED_API FixedPoint real (const FixedPointComplex &x);
--- a/main/fixed/src/fixedMatrix.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedMatrix.cc Thu Nov 13 22:49:30 2008 +0000 @@ -772,14 +772,14 @@ // other operations. FixedMatrix -FixedMatrix::map (f_f_Mapper f) const +FixedMatrix::map (fp_fp_Mapper f) const { FixedMatrix b (*this); return b.apply (f); } FixedMatrix& -FixedMatrix::apply (f_f_Mapper f) +FixedMatrix::apply (fp_fp_Mapper f) { FixedPoint *d = fortran_vec (); // Ensures only one reference to my privates!
--- a/main/fixed/src/fixedMatrix.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedMatrix.h Thu Nov 13 22:49:30 2008 +0000 @@ -46,7 +46,7 @@ class FixedRowVector; #endif -typedef FixedPoint (*f_f_Mapper)(FixedPoint); +typedef FixedPoint (*fp_fp_Mapper)(FixedPoint); class OCTAVE_FIXED_API @@ -93,6 +93,7 @@ FixedMatrix (const FixedMatrix& a) : MArray2<FixedPoint> (a) { } FixedMatrix (const MArray2<FixedPoint>& a) : MArray2<FixedPoint> (a) { } + FixedMatrix (const Array2<FixedPoint> &a) : MArray2<FixedPoint> (a) { } explicit FixedMatrix (const FixedRowVector& rv); @@ -170,8 +171,8 @@ // other operations - FixedMatrix map (f_f_Mapper f) const; - FixedMatrix& apply (f_f_Mapper f); + FixedMatrix map (fp_fp_Mapper f) const; + FixedMatrix& apply (fp_fp_Mapper f); boolMatrix all (int dim = -1) const; boolMatrix any (int dim = -1) const;
--- a/main/fixed/src/fixedRowVector.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedRowVector.cc Thu Nov 13 22:49:30 2008 +0000 @@ -527,14 +527,14 @@ // other operations FixedRowVector -FixedRowVector::map (f_f_Mapper f) const +FixedRowVector::map (fp_fp_Mapper f) const { FixedRowVector b (*this); return b.apply (f); } FixedRowVector& -FixedRowVector::apply (f_f_Mapper f) +FixedRowVector::apply (fp_fp_Mapper f) { FixedPoint *d = fortran_vec (); // Ensures only one reference to my privates!
--- a/main/fixed/src/fixedRowVector.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/fixedRowVector.h Thu Nov 13 22:49:30 2008 +0000 @@ -40,7 +40,7 @@ class FixedMatrix; #endif -typedef FixedPoint (*f_f_Mapper)(FixedPoint); +typedef FixedPoint (*fp_fp_Mapper)(FixedPoint); class OCTAVE_FIXED_API @@ -132,9 +132,9 @@ // other operations - FixedRowVector map (f_f_Mapper f) const; + FixedRowVector map (fp_fp_Mapper f) const; - FixedRowVector& apply (f_f_Mapper f); + FixedRowVector& apply (fp_fp_Mapper f); FixedPoint min (void) const; FixedPoint max (void) const;
--- a/main/fixed/src/int/fixed.h Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/int/fixed.h Thu Nov 13 22:49:30 2008 +0000 @@ -554,6 +554,10 @@ FixedPoint n = x; return (n >>= s); } + +inline bool xisnan (const FixedPoint &x) { + return false; +} OCTAVE_FIXED_API bool operator == (const FixedPoint &x, const FixedPoint &y); OCTAVE_FIXED_API bool operator != (const FixedPoint &x, const FixedPoint &y);
--- a/main/fixed/src/ov-base-fixed-mat.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/ov-base-fixed-mat.cc Thu Nov 13 22:49:30 2008 +0000 @@ -101,10 +101,12 @@ len); else { - for (int i = 0; i < len; i++) - matrix.set_index (idx(i).index_vector ()); + Array<idx_vector> ra_idx (len); - ::assign (matrix, rhs, MT::resize_fill_value ()); + for (octave_idx_type i = 0; i < len; i++) + ra_idx(i) = idx(i).index_vector (); + + matrix.assign (ra_idx, rhs, MT::resize_fill_value ()); } }
--- a/main/fixed/src/ov-fixed-complex.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/ov-fixed-complex.cc Thu Nov 13 22:49:30 2008 +0000 @@ -29,6 +29,7 @@ #include <octave/oct-obj.h> #include <octave/ov.h> #include <octave/gripes.h> +#include <octave/symtab.h> #include <octave/parse.h> #include <octave/utils.h> #include <octave/unwind-prot.h> @@ -61,7 +62,7 @@ gripe_implicit_conversion ("Octave:imag-to-real", "fixed complex", "matrix"); - retval = NDArray (dim_vector (1, 1), real (scalar.fixedpoint ())); + retval = NDArray (dim_vector (1, 1), std::real (scalar.fixedpoint ())); return retval; } @@ -181,8 +182,8 @@ { OV_REP_TYPE *retval = 0; - if (imag (scalar) == FixedPoint()) - retval = new octave_fixed (real (scalar)); + if (::imag (scalar) == FixedPoint()) + retval = new octave_fixed (::real (scalar)); return retval; } @@ -223,7 +224,7 @@ gripe_implicit_conversion ("Octave:imag-to-real", "fixed complex", "fixed scalar"); - retval = FixedPoint(real (scalar)); + retval = FixedPoint(::real (scalar)); return retval; } @@ -237,7 +238,7 @@ gripe_implicit_conversion ("Octave:imag-to-real", "fixed complex", "fixed matrix"); - retval = FixedMatrix(1,1,real (scalar)); + retval = FixedMatrix(1,1,::real (scalar)); return retval; } @@ -252,11 +253,11 @@ octave_fixed_complex::print_raw (std::ostream& os, bool pr_as_read_syntax) const { - double min_num = std::max(abs(real(scalar)).fixedpoint(), - abs(imag(scalar)).fixedpoint()); - int new_prec = (int)std::max(real(scalar.getdecsize()), - imag(scalar.getdecsize())) - + (min_num >= 1. ? (int)log10(min_num) + 1 : 0); + double min_num = std::max(::abs(::real(scalar)).fixedpoint(), + ::abs(::imag(scalar)).fixedpoint()); + int new_prec = (int)std::max(std::real(scalar.getdecsize()), + std::imag(scalar.getdecsize())) + + (min_num >= 1. ? (int)::log10(min_num) + 1 : 0); octave_value_list tmp = feval ("output_precision"); int prec = tmp(0).int_value ();
--- a/main/fixed/src/ov-fixed-cx-mat.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/ov-fixed-cx-mat.cc Thu Nov 13 22:49:30 2008 +0000 @@ -34,6 +34,7 @@ #include <octave/gripes.h> #include <octave/unwind-prot.h> #include <octave/cmd-edit.h> +#include <octave/symtab.h> #include <octave/parse.h> #include <octave/utils.h> #include <octave/unwind-prot.h> @@ -83,7 +84,7 @@ for (int i=0; i<nr; i++) for (int j=0; j<nc; j++) - retval(i + j*nr) = real (matrix(i,j).fixedpoint()); + retval(i + j*nr) = std::real (matrix(i,j).fixedpoint()); return retval; } @@ -295,15 +296,15 @@ { FixedPointComplex c = matrix (0, 0); - if (imag (c) == 0.0) - retval = new octave_fixed (real (c)); + if (::imag (c) == 0.0) + retval = new octave_fixed (::real (c)); else retval = new octave_fixed_complex (c); } else if (nr == 0 || nc == 0) retval = new octave_fixed_matrix (FixedMatrix (nr, nc)); else if (matrix.all_elements_are_real ()) - retval = new octave_fixed_matrix (real (matrix)); + retval = new octave_fixed_matrix (::real (matrix)); return retval; } @@ -344,7 +345,7 @@ gripe_implicit_conversion ("Octave:array-as-scalar", "real matrix", "real scalar"); - retval = real( matrix (0, 0)); + retval = ::real( matrix (0, 0)); } else gripe_invalid_conversion ("fixed complex matrix", "fixed scalar"); @@ -376,7 +377,7 @@ gripe_implicit_conversion ("Octave:imag-to-real", "fixed complex matrix", "fixed matrix"); - retval = real (matrix); + retval = ::real (matrix); return retval; } @@ -411,11 +412,11 @@ octave_fixed_complex_matrix::print_raw (std::ostream& os, bool pr_as_read_syntax) const { - double min_num = std::max(abs(real(matrix)).row_min().min().fixedpoint(), - abs(imag(matrix)).row_min().min().fixedpoint()); - int new_prec = (int)std::max(real(matrix).getdecsize().row_max().max(), - imag(matrix).getdecsize().row_max().max()) + - (min_num >= 1. ? (int)log10(min_num) + 1 : 0); + double min_num = std::max(::abs(::real(matrix)).row_min().min().fixedpoint(), + ::abs(::imag(matrix)).row_min().min().fixedpoint()); + int new_prec = (int)std::max(::real(matrix).getdecsize().row_max().max(), + ::imag(matrix).getdecsize().row_max().max()) + + (min_num >= 1. ? (int)::log10(min_num) + 1 : 0); octave_value_list tmp = feval ("output_precision"); int prec = tmp(0).int_value (); @@ -437,8 +438,8 @@ for (int i=0; i < d.length (); i++) os << " " << d (i); - FixedMatrix re (real (matrix)); - FixedMatrix im (imag (matrix)); + FixedMatrix re (::real (matrix)); + FixedMatrix im (::imag (matrix)); os << "\n" << re.getintsize () << im.getintsize () << re.getdecsize () << im.getdecsize () << re.fixedpoint() << im.fixedpoint (); @@ -518,7 +519,7 @@ os.write (X_CAST (char *, &size), 1); // intsize and decsize are integers in the range [0:32], so store as char - FixedMatrix re (real (matrix)), im (imag (matrix)); + FixedMatrix re (::real (matrix)), im (::imag (matrix)); LS_DO_WRITE (char, re.getintsize ().fortran_vec (), 1, d.numel (), os); LS_DO_WRITE (char, im.getintsize ().fortran_vec (), 1, d.numel (), os); LS_DO_WRITE (char, re.getdecsize ().fortran_vec (), 1, d.numel (), os); @@ -654,8 +655,8 @@ OCTAVE_LOCAL_BUFFER(unsigned char, tmp, 2 * d.numel ()); for (int i = 0; i < d.numel (); i++) { - tmp[i<<1] = (unsigned char) real (m[i]); - tmp[(i<<1)+1] = (unsigned char) imag (m[i]); + tmp[i<<1] = (unsigned char) std::real (m[i]); + tmp[(i<<1)+1] = (unsigned char) std::imag (m[i]); } retval = H5Dwrite (data_hid, type_hid, H5S_ALL, H5S_ALL, H5P_DEFAULT, (void*) tmp) >= 0; @@ -680,8 +681,8 @@ m = matrix.getdecsize (). fortran_vec (); for (int i = 0; i < d.numel (); i++) { - tmp[i<<1] = (unsigned char) real (m[i]); - tmp[(i<<1)+1] = (unsigned char) imag (m[i]); + tmp[i<<1] = (unsigned char) std::real (m[i]); + tmp[(i<<1)+1] = (unsigned char) std::imag (m[i]); } retval = H5Dwrite (data_hid, type_hid, H5S_ALL, H5S_ALL, H5P_DEFAULT, (void*) tmp) >= 0; @@ -717,8 +718,8 @@ OCTAVE_LOCAL_BUFFER(unsigned int, num, 2*d.numel ()); for (int i = 0; i < d.numel (); i++) { - num[i<<1] = (unsigned int) real (m[i]); - num[(i<<1)+1] = (unsigned int) imag (m[i]); + num[i<<1] = (unsigned int) std::real (m[i]); + num[(i<<1)+1] = (unsigned int) std::imag (m[i]); } retval = H5Dwrite (data_hid, type_hid, H5S_ALL, H5S_ALL, H5P_DEFAULT, (void*) num) >= 0;
--- a/main/fixed/src/ov-fixed-mat.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/ov-fixed-mat.cc Thu Nov 13 22:49:30 2008 +0000 @@ -34,6 +34,7 @@ #include <octave/gripes.h> #include <octave/unwind-prot.h> #include <octave/cmd-edit.h> +#include <octave/symtab.h> #include <octave/parse.h> #include <octave/utils.h> #include <octave/unwind-prot.h> @@ -404,7 +405,7 @@ { double min_num = matrix.abs().row_min().min().fixedpoint(); int new_prec = (int)matrix.getdecsize().row_max().max() + - (min_num >= 1. ? (int)log10(min_num) + 1 : 0); + (min_num >= 1. ? (int)::log10(min_num) + 1 : 0); octave_value_list tmp = feval ("output_precision"); int prec = tmp(0).int_value ();
--- a/main/fixed/src/ov-fixed.cc Thu Nov 13 13:20:17 2008 +0000 +++ b/main/fixed/src/ov-fixed.cc Thu Nov 13 22:49:30 2008 +0000 @@ -28,6 +28,7 @@ #include <octave/config.h> #include <octave/oct-obj.h> #include <octave/ov.h> +#include <octave/symtab.h> #include <octave/parse.h> #include <octave/utils.h> #include <octave/unwind-prot.h> @@ -218,9 +219,9 @@ void octave_fixed::print_raw (std::ostream& os, bool pr_as_read_syntax) const { - double min_num = abs(scalar).fixedpoint(); + double min_num = ::abs(scalar).fixedpoint(); int new_prec = scalar.getdecsize() + - (min_num >= 1. ? (int)log10(min_num) + 1 : 0); + (min_num >= 1. ? (int)::log10(min_num) + 1 : 0); octave_value_list tmp = feval ("output_precision"); int prec = tmp(0).int_value ();