Mercurial > hg > octave-nkf
comparison liboctave/fMatrix.cc @ 8650:a1ae2aae903e
abs,real,imag,conj: use code from mx-inlines rather than the generic map
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Mon, 02 Feb 2009 15:35:32 +0100 |
parents | 5114ea5a41b5 |
children | 53b4fdeacc2e |
comparison
equal
deleted
inserted
replaced
8649:e50b44b75891 | 8650:a1ae2aae903e |
---|---|
580 } | 580 } |
581 | 581 |
582 FloatMatrix | 582 FloatMatrix |
583 real (const FloatComplexMatrix& a) | 583 real (const FloatComplexMatrix& a) |
584 { | 584 { |
585 octave_idx_type a_len = a.length (); | 585 return FloatMatrix (mx_inline_real_dup (a.data (), a.length ()), |
586 FloatMatrix retval; | 586 a.rows (), a.cols ()); |
587 if (a_len > 0) | |
588 retval = FloatMatrix (mx_inline_real_dup (a.data (), a_len), | |
589 a.rows (), a.cols ()); | |
590 return retval; | |
591 } | 587 } |
592 | 588 |
593 FloatMatrix | 589 FloatMatrix |
594 imag (const FloatComplexMatrix& a) | 590 imag (const FloatComplexMatrix& a) |
595 { | 591 { |
596 octave_idx_type a_len = a.length (); | 592 return FloatMatrix (mx_inline_imag_dup (a.data (), a.length ()), |
597 FloatMatrix retval; | 593 a.rows (), a.cols ()); |
598 if (a_len > 0) | |
599 retval = FloatMatrix (mx_inline_imag_dup (a.data (), a_len), | |
600 a.rows (), a.cols ()); | |
601 return retval; | |
602 } | 594 } |
603 | 595 |
604 FloatMatrix | 596 FloatMatrix |
605 FloatMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const | 597 FloatMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const |
606 { | 598 { |
2844 } | 2836 } |
2845 | 2837 |
2846 FloatMatrix | 2838 FloatMatrix |
2847 FloatMatrix::abs (void) const | 2839 FloatMatrix::abs (void) const |
2848 { | 2840 { |
2849 octave_idx_type nr = rows (); | 2841 return FloatMatrix (mx_inline_fabs_dup (data (), length ()), |
2850 octave_idx_type nc = cols (); | 2842 rows (), cols ()); |
2851 | |
2852 FloatMatrix retval (nr, nc); | |
2853 | |
2854 for (octave_idx_type j = 0; j < nc; j++) | |
2855 for (octave_idx_type i = 0; i < nr; i++) | |
2856 retval (i, j) = fabs (elem (i, j)); | |
2857 | |
2858 return retval; | |
2859 } | 2843 } |
2860 | 2844 |
2861 FloatMatrix | 2845 FloatMatrix |
2862 FloatMatrix::diag (octave_idx_type k) const | 2846 FloatMatrix::diag (octave_idx_type k) const |
2863 { | 2847 { |