# HG changeset patch # User jwe # Date 1130340248 0 # Node ID 7865515fc6c2ce70ac09e0ecab9e4671dc198d8b # Parent 273612001e3a1bd18ad2b6ec84ad6366ca34a91d [project @ 2005-10-26 15:24:07 by jwe] diff -r 273612001e3a -r 7865515fc6c2 ChangeLog --- a/ChangeLog Wed Oct 26 08:01:24 2005 +0000 +++ b/ChangeLog Wed Oct 26 15:24:08 2005 +0000 @@ -1,3 +1,8 @@ +2005-10-26 Arno J. Klaassen + + * configure.in [*-*-freebsd*] (SH_LDFLAGS): Properly quote. + (RLD_FLAG): Set. + 2005-10-23 David Bateman * configure.in (OCTAVE_UMFPACK_SEPERATE_SPLIT): Check for metis diff -r 273612001e3a -r 7865515fc6c2 configure.in --- a/configure.in Wed Oct 26 08:01:24 2005 +0000 +++ b/configure.in Wed Oct 26 15:24:08 2005 +0000 @@ -29,7 +29,7 @@ EXTERN_CXXFLAGS="$CXXFLAGS" AC_INIT -AC_REVISION($Revision: 1.487 $) +AC_REVISION($Revision: 1.488 $) AC_PREREQ(2.57) AC_CONFIG_SRCDIR([src/octave.cc]) AC_CONFIG_HEADER(config.h) @@ -947,7 +947,8 @@ ;; *-*-freebsd*) SH_LD='$(CC)' - SH_LDFLAGS=-shared -Wl,-x + SH_LDFLAGS="-shared -Wl,-x" + RLD_FLAG='-Wl,-rpath -Wl,$(octlibdir)' ;; alpha*-dec-osf*) CPICFLAG= diff -r 273612001e3a -r 7865515fc6c2 liboctave/CMatrix.h --- a/liboctave/CMatrix.h Wed Oct 26 08:01:24 2005 +0000 +++ b/liboctave/CMatrix.h Wed Oct 26 15:24:08 2005 +0000 @@ -200,17 +200,6 @@ ComplexMatrix expm (void) const; - // column vector by row vector -> matrix operations - - friend ComplexMatrix operator * (const ColumnVector& a, - const ComplexRowVector& b); - - friend ComplexMatrix operator * (const ComplexColumnVector& a, - const RowVector& b); - - friend ComplexMatrix operator * (const ComplexColumnVector& a, - const ComplexRowVector& b); - // matrix by diagonal matrix -> matrix operations ComplexMatrix& operator += (const DiagMatrix& a); @@ -281,10 +270,22 @@ ComplexMatrix (Complex *d, octave_idx_type r, octave_idx_type c) : MArray2 (d, r, c) { } }; -ComplexMatrix Givens (const Complex&, const Complex&); +// column vector by row vector -> matrix operations + +extern ComplexMatrix +operator * (const ColumnVector& a, const ComplexRowVector& b); + +extern ComplexMatrix +operator * (const ComplexColumnVector& a, const RowVector& b); -ComplexMatrix Sylvester (const ComplexMatrix&, const ComplexMatrix&, - const ComplexMatrix&); +extern ComplexMatrix +operator * (const ComplexColumnVector& a, const ComplexRowVector& b); + +extern ComplexMatrix +Givens (const Complex&, const Complex&); + +extern ComplexMatrix +Sylvester (const ComplexMatrix&, const ComplexMatrix&, const ComplexMatrix&); extern ComplexMatrix operator * (const Matrix&, const ComplexMatrix&); extern ComplexMatrix operator * (const ComplexMatrix&, const Matrix&); diff -r 273612001e3a -r 7865515fc6c2 liboctave/ChangeLog --- a/liboctave/ChangeLog Wed Oct 26 08:01:24 2005 +0000 +++ b/liboctave/ChangeLog Wed Oct 26 15:24:08 2005 +0000 @@ -1,3 +1,27 @@ +2005-10-26 John W. Eaton + + Changes for GCC 4.1, tip from Arno J. Klaassen + : + + * dColVector.h (real (const ComplexColumnVector&)): + Publish externally used friend function. + (imag (const ComplexColumnVector&)): Likewise. + + * dNDArray.h (real (const ComplexNDArray&)): + Publish externally used friend function. + (imag (const ComplexNDArray&)): Likewise. + + * dMatrix.h (operator * (const ComplexMatrix&)): + Move decl outside class. No need to be friend. + (real (const ComplexMatrix&)): Publish externally used friend function. + (imag (const ComplexMatrix&)): Likewise. + + * CMatrix.h: (operator * (const ColumnVector&, const + ComplexRowVector&)): Move decl outside class. No need to be friend. + (operator * (const ComplexColumnVector&, const RowVector&)): Likewise. + (operator * (const ComplexColumnVector&, const ComplexRowVector& b)): + Likewise. + 2005-10-23 David Bateman * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Check whether trailing zero diff -r 273612001e3a -r 7865515fc6c2 liboctave/dColVector.h --- a/liboctave/dColVector.h Wed Oct 26 08:01:24 2005 +0000 +++ b/liboctave/dColVector.h Wed Oct 26 15:24:08 2005 +0000 @@ -99,6 +99,11 @@ ColumnVector (double *d, octave_idx_type l) : MArray (d, l) { } }; +// Publish externally used friend functions. + +extern ColumnVector real (const ComplexColumnVector& a); +extern ColumnVector imag (const ComplexColumnVector& a); + MARRAY_FORWARD_DEFS (MArray, ColumnVector, double) #endif diff -r 273612001e3a -r 7865515fc6c2 liboctave/dMatrix.h --- a/liboctave/dMatrix.h Wed Oct 26 08:01:24 2005 +0000 +++ b/liboctave/dMatrix.h Wed Oct 26 15:24:08 2005 +0000 @@ -177,10 +177,6 @@ boolMatrix operator ! (void) const; - // column vector by row vector -> matrix operations - - friend Matrix operator * (const ColumnVector& a, const RowVector& b); - // other operations Matrix map (d_d_Mapper f) const; @@ -231,6 +227,17 @@ Matrix (double *d, octave_idx_type r, octave_idx_type c) : MArray2 (d, r, c) { } }; +// Publish externally used friend functions. + +extern Matrix real (const ComplexMatrix& a); +extern Matrix imag (const ComplexMatrix& a); + +// column vector by row vector -> matrix operations + +extern Matrix operator * (const ColumnVector& a, const RowVector& b); + +// Other functions. + extern Matrix Givens (double, double); extern Matrix Sylvester (const Matrix&, const Matrix&, const Matrix&); diff -r 273612001e3a -r 7865515fc6c2 liboctave/dNDArray.h --- a/liboctave/dNDArray.h Wed Oct 26 08:01:24 2005 +0000 +++ b/liboctave/dNDArray.h Wed Oct 26 15:24:08 2005 +0000 @@ -127,6 +127,11 @@ NDArray (double *d, const dim_vector& dv) : MArrayN (d, dv) { } }; +// Publish externally used friend functions. + +extern NDArray real (const ComplexNDArray& a); +extern NDArray imag (const ComplexNDArray& a); + extern NDArray min (double d, const NDArray& m); extern NDArray min (const NDArray& m, double d); extern NDArray min (const NDArray& a, const NDArray& b); diff -r 273612001e3a -r 7865515fc6c2 src/ChangeLog --- a/src/ChangeLog Wed Oct 26 08:01:24 2005 +0000 +++ b/src/ChangeLog Wed Oct 26 15:24:08 2005 +0000 @@ -1,3 +1,13 @@ +2005-10-26 John W. Eaton + + Changes for GCC 4.1, tip from Arno J. Klaassen + : + + * ov.h (do_unary_op (octave_value::unary_op, const octave_value&)): + Publish externally used friend function. + (do_unary_op (octave_value::unary_op, const octave_value&, + const octave_value&)): Likewise. + 2005-10-25 David Bateman * data.cc (do_cat): called with 2 args, should return args(1) diff -r 273612001e3a -r 7865515fc6c2 src/ov.h --- a/src/ov.h Wed Oct 26 08:01:24 2005 +0000 +++ b/src/ov.h Wed Oct 26 15:24:08 2005 +0000 @@ -833,6 +833,15 @@ octave_value *nil_rep (void) const; }; +// Publish externally used friend functions. + +extern octave_value +do_unary_op (octave_value::unary_op op, const octave_value& a); + +extern octave_value +do_binary_op (octave_value::binary_op op, + const octave_value& a, const octave_value& b); + #define OV_UNOP_FN(name) \ inline octave_value \ name (const octave_value& a) \