Mercurial > hg > octave-lyh
diff liboctave/fColVector.cc @ 10363:a0728e81ed25
improve diag matrix interface & implementation
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 26 Feb 2010 11:44:38 +0100 |
parents | 07ebe522dac2 |
children | 4d1fc073fbb7 |
line wrap: on
line diff
--- a/liboctave/fColVector.cc +++ b/liboctave/fColVector.cc @@ -146,23 +146,21 @@ } FloatColumnVector +FloatColumnVector::abs (void) const +{ + return do_mx_unary_map<float, float, std::abs> (*this); +} + +FloatColumnVector real (const FloatComplexColumnVector& a) { - octave_idx_type a_len = a.length (); - FloatColumnVector retval; - if (a_len > 0) - retval = FloatColumnVector (mx_inline_real_dup (a.data (), a_len), a_len); - return retval; + return do_mx_unary_op<float, FloatComplex> (a, mx_inline_real); } FloatColumnVector imag (const FloatComplexColumnVector& a) { - octave_idx_type a_len = a.length (); - FloatColumnVector retval; - if (a_len > 0) - retval = FloatColumnVector (mx_inline_imag_dup (a.data (), a_len), a_len); - return retval; + return do_mx_unary_op<float, FloatComplex> (a, mx_inline_imag); } // resize is the destructive equivalent for this one