changeset 5248:f8d77845533f octave-forge

Changes for compilation with 3.1.51+
author adb014
date Thu, 13 Nov 2008 22:49:30 +0000
parents 2a89127eb1b1
children f129028b9e47
files main/fixed/src/Array-f.cc main/fixed/src/fixed.cc main/fixed/src/fixedCColVector.cc main/fixed/src/fixedCColVector.h main/fixed/src/fixedCMatrix.cc main/fixed/src/fixedCMatrix.h main/fixed/src/fixedCRowVector.cc main/fixed/src/fixedCRowVector.h main/fixed/src/fixedColVector.cc main/fixed/src/fixedColVector.h main/fixed/src/fixedComplex.h main/fixed/src/fixedMatrix.cc main/fixed/src/fixedMatrix.h main/fixed/src/fixedRowVector.cc main/fixed/src/fixedRowVector.h main/fixed/src/int/fixed.h main/fixed/src/ov-base-fixed-mat.cc main/fixed/src/ov-fixed-complex.cc main/fixed/src/ov-fixed-cx-mat.cc main/fixed/src/ov-fixed-mat.cc main/fixed/src/ov-fixed.cc
diffstat 21 files changed, 96 insertions(+), 83 deletions(-) [+]
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 ();