changeset 6482:7e958a1532c6

[project @ 2007-04-04 02:37:07 by jwe]
author jwe
date Wed, 04 Apr 2007 02:37:07 +0000
parents 89ed13fec6fe
children d00da2148c53
files liboctave/CMatrix.cc liboctave/CSparse.cc liboctave/ChangeLog liboctave/Sparse-op-defs.h liboctave/dSparse.cc liboctave/data-conv.cc liboctave/intNDArray.cc liboctave/oct-fftw.cc liboctave/oct-inttypes.h liboctave/oct-sort.cc liboctave/oct-spparms.h liboctave/oct-syscalls.cc liboctave/sparse-base-chol.cc src/dirfns.cc
diffstat 14 files changed, 63 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/CMatrix.cc
+++ b/liboctave/CMatrix.cc
@@ -985,7 +985,7 @@
 			int calc_cond) const
 {
   MatrixType mattype (*this);
-  return inverse (mattype, info, rcond, 0, 0);
+  return inverse (mattype, info, rcond, force, calc_cond);
 }
 
 ComplexMatrix
@@ -1041,7 +1041,7 @@
 	      octave_idx_type ztrcon_info = 0;
 	      char job = '1';
 
-	      OCTAVE_LOCAL_BUFFER (Complex, cwork, 2 * nr);
+	      OCTAVE_LOCAL_BUFFER (Complex, cwork, 2*nr);
 	      OCTAVE_LOCAL_BUFFER (double, rwork, nr);
 
 	      F77_XFCN (ztrcon, ZTRCON, (F77_CONST_CHAR_ARG2 (&job, 1),
--- a/liboctave/CSparse.cc
+++ b/liboctave/CSparse.cc
@@ -5828,7 +5828,8 @@
 	      CHOLMOD_NAME(free_dense) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
@@ -6104,7 +6105,8 @@
 	      CHOLMOD_NAME(free_sparse) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
@@ -6396,7 +6398,8 @@
 	      CHOLMOD_NAME(free_dense) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
@@ -6651,7 +6654,8 @@
 	      CHOLMOD_NAME(free_sparse) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
--- a/liboctave/ChangeLog
+++ b/liboctave/ChangeLog
@@ -1,5 +1,17 @@
 2007-04-03  John W. Eaton  <jwe@octave.org>
 
+	* intNDArray.cc (intNDArray): Delete spurious semicolon.
+
+	* CMatrix.cc (ComplexMatrix::tinverse): Use Array<T> and
+	fortran_vec method instead of OCTAVE_LOCAL_BUFFER to avoid
+	"maybe clobbered by vfork" warning.
+
+	* Sparse-op-defs.h (SPARSE_CUMSUM): Add parens to avoid ambiguous
+	if/else.
+
+	* oct-spparms.h (octave_sparse_params): Define copy constructor
+	and destructor.
+
 	* Array.cc (assignN): Don't resize dimension if corresponding
 	index is empty.
 
--- a/liboctave/Sparse-op-defs.h
+++ b/liboctave/Sparse-op-defs.h
@@ -1461,10 +1461,12 @@
                 { \
                   t += data(j); \
                   if (t != ELT_TYPE ()) \
-                    if (j == cidx(i+1) - 1) \
-		      nel += nr - ridx(j); \
-                    else \
-		      nel += ridx(j+1) - ridx(j); \
+		    { \
+                      if (j == cidx(i+1) - 1) \
+			nel += nr - ridx(j);  \
+		      else \
+			nel += ridx(j+1) - ridx(j); \
+		    } \
                 } \
 	    } \
 	  retval = RET_TYPE (nr, nc, nel); \
--- a/liboctave/dSparse.cc
+++ b/liboctave/dSparse.cc
@@ -6053,7 +6053,8 @@
 	      CHOLMOD_NAME(free_dense) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
@@ -6300,7 +6301,8 @@
 	      CHOLMOD_NAME(free_sparse) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
@@ -6564,7 +6566,8 @@
 	      CHOLMOD_NAME(free_dense) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
@@ -6831,7 +6834,8 @@
 	      CHOLMOD_NAME(free_sparse) (&X, cm);
 	      CHOLMOD_NAME(free_factor) (&L, cm);
 	      CHOLMOD_NAME(finish) (cm);
-	      CHOLMOD_NAME(print_common) (" ", cm);
+	      static char tmp[] = " ";
+	      CHOLMOD_NAME(print_common) (tmp, cm);
 	      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 	    }
 #else
--- a/liboctave/data-conv.cc
+++ b/liboctave/data-conv.cc
@@ -26,6 +26,7 @@
 #endif
 
 #include <cctype>
+#include <cstdlib>
 
 #include <iostream>
 #include <vector>
--- a/liboctave/intNDArray.cc
+++ b/liboctave/intNDArray.cc
@@ -98,7 +98,7 @@
 intNDArray<T>
 intNDArray<T>::concat (const intNDArray<T>& rb, const Array<octave_idx_type>& ra_idx)
 {
-  if (rb.numel () > 0);
+  if (rb.numel () > 0)
     insert (rb, ra_idx);
   return *this;
 }
--- a/liboctave/oct-fftw.cc
+++ b/liboctave/oct-fftw.cc
@@ -102,7 +102,7 @@
 }
 
 #define CHECK_SIMD_ALIGNMENT(x) \
-  ((reinterpret_cast<ptrdiff_t> (x)) & 0xF == 0)
+  (((reinterpret_cast<ptrdiff_t> (x)) & 0xF) == 0)
 
 fftw_plan
 octave_fftw_planner::create_plan (int dir, const int rank,
--- a/liboctave/oct-inttypes.h
+++ b/liboctave/oct-inttypes.h
@@ -24,6 +24,8 @@
 #if !defined (octave_inttypes_h)
 #define octave_inttypes_h 1
 
+#include <climits>
+
 #include <limits>
 #include <iostream>
 
--- a/liboctave/oct-sort.cc
+++ b/liboctave/oct-sort.cc
@@ -85,6 +85,7 @@
 #endif
 
 #include <cassert>
+#include <cstdlib>
 
 #include "lo-mappers.h"
 #include "quit.h"
--- a/liboctave/oct-spparms.h
+++ b/liboctave/oct-spparms.h
@@ -50,6 +50,22 @@
 
 public:
 
+  octave_sparse_params (const octave_sparse_params& a)
+    : params (a.params), keys (a.keys) { }
+
+  octave_sparse_params& operator = (const octave_sparse_params& a)
+  {
+    if (&a != this)
+      {
+	params = a.params;
+	keys = a.keys;
+      }
+    
+    return *this;
+  }
+
+  ~octave_sparse_params (void) { }
+
   static bool instance_ok (void);
 
   static void defaults (void);
--- a/liboctave/oct-syscalls.cc
+++ b/liboctave/oct-syscalls.cc
@@ -26,6 +26,7 @@
 #endif
 
 #include <cerrno>
+#include <cstdlib>
 
 #include <string.h>
 
--- a/liboctave/sparse-base-chol.cc
+++ b/liboctave/sparse-base-chol.cc
@@ -214,10 +214,12 @@
 	perms(i) = static_cast<octave_idx_type *>(Lfactor->Perm)[i];
     }
 
+  static char tmp[] = " ";
+
   BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
   CHOLMOD_NAME(free_factor) (&Lfactor, cm);
   CHOLMOD_NAME(finish) (cm);
-  CHOLMOD_NAME(print_common) (" ", cm);
+  CHOLMOD_NAME(print_common) (tmp, cm);
   END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 #else
   (*current_liboctave_error_handler) 
--- a/src/dirfns.cc
+++ b/src/dirfns.cc
@@ -147,7 +147,7 @@
 
 DEFALIAS (chdir, cd);
 
-DEFUN (pwd, , nargout,
+DEFUN (pwd, , ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} pwd ()\n\
 Return the current working directory.\n\