Mercurial > hg > octave-lyh
changeset 5508:7865515fc6c2
[project @ 2005-10-26 15:24:07 by jwe]
author | jwe |
---|---|
date | Wed, 26 Oct 2005 15:24:08 +0000 |
parents | 273612001e3a |
children | b8fc8af2d04d |
files | ChangeLog configure.in liboctave/CMatrix.h liboctave/ChangeLog liboctave/dColVector.h liboctave/dMatrix.h liboctave/dNDArray.h src/ChangeLog src/ov.h |
diffstat | 9 files changed, 87 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-10-26 Arno J. Klaassen <arno@heho.snv.jussieu.fr> + + * configure.in [*-*-freebsd*] (SH_LDFLAGS): Properly quote. + (RLD_FLAG): Set. + 2005-10-23 David Bateman <dbateman@free.fr> * configure.in (OCTAVE_UMFPACK_SEPERATE_SPLIT): Check for metis
--- a/configure.in +++ b/configure.in @@ -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=
--- a/liboctave/CMatrix.h +++ b/liboctave/CMatrix.h @@ -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<Complex> (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&);
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,27 @@ +2005-10-26 John W. Eaton <jwe@octave.org> + + Changes for GCC 4.1, tip from Arno J. Klaassen + <arno@heho.snv.jussieu.fr>: + + * 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 <dbateman@free.fr> * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Check whether trailing zero
--- a/liboctave/dColVector.h +++ b/liboctave/dColVector.h @@ -99,6 +99,11 @@ ColumnVector (double *d, octave_idx_type l) : MArray<double> (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
--- a/liboctave/dMatrix.h +++ b/liboctave/dMatrix.h @@ -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<double> (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&);
--- a/liboctave/dNDArray.h +++ b/liboctave/dNDArray.h @@ -127,6 +127,11 @@ NDArray (double *d, const dim_vector& dv) : MArrayN<double> (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);
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2005-10-26 John W. Eaton <jwe@octave.org> + + Changes for GCC 4.1, tip from Arno J. Klaassen + <arno@heho.snv.jussieu.fr>: + + * 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 <dbateman@free.fr> * data.cc (do_cat): called with 2 args, should return args(1)
--- a/src/ov.h +++ b/src/ov.h @@ -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) \