Mercurial > octave-nkf
changeset 8835:1685c61542f8
Don't perform narrowing to full matrices in mixed spare scalar operators
author | David Bateman <dbateman@free.fr> |
---|---|
date | Sat, 21 Feb 2009 01:27:23 +0100 |
parents | 8dd69187c4a2 |
children | d79edebd8f45 |
files | src/ChangeLog src/OPERATORS/op-cs-scm.cc src/OPERATORS/op-cs-sm.cc src/OPERATORS/op-s-scm.cc src/OPERATORS/op-s-sm.cc src/OPERATORS/op-scm-cs.cc src/OPERATORS/op-scm-s.cc src/OPERATORS/op-sm-cs.cc src/OPERATORS/op-sm-s.cc |
diffstat | 9 files changed, 45 insertions(+), 98 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Fri Feb 20 21:49:26 2009 +0100 +++ b/src/ChangeLog Sat Feb 21 01:27:23 2009 +0100 @@ -1,3 +1,10 @@ +2008-02-21 David Bateman <dbateman@free.fr> + + * OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, OPERATORS/op-s-scm.cc, + OPERATORS/op-s-sm.cc, OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-s.cc, + OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-s.cc: Don't perform any + narrowing to full matrices. + 2009-02-20 Jaroslav Hajek <highegg@gmail.com> * ov-base-diag.h (octave_base_diag::sqrt): Remove.
--- a/src/OPERATORS/op-cs-scm.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-cs-scm.cc Sat Feb 21 01:27:23 2009 +0100 @@ -55,7 +55,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v1.complex_value () / d); + return octave_value (SparseComplexMatrix (1, 1, v1.complex_value () / d)); } else { @@ -107,13 +107,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v2.complex_matrix_value () / d); - } - else - retval = octave_value (v2.sparse_complex_matrix_value () / d); + retval = octave_value (v2.sparse_complex_matrix_value () / d); return retval; }
--- a/src/OPERATORS/op-cs-sm.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-cs-sm.cc Sat Feb 21 01:27:23 2009 +0100 @@ -57,7 +57,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v1.complex_value () / d); + return octave_value (SparseComplexMatrix (1, 1, v1.complex_value () / d)); } else { @@ -84,13 +84,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v2.matrix_value () / d); - } - else - retval = octave_value (v2.sparse_matrix_value () / d); + retval = octave_value (v2.sparse_matrix_value () / d); return retval; } @@ -114,13 +110,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v2.matrix_value () / d); - } - else - retval = octave_value (v2.sparse_matrix_value () / d); + retval = octave_value (v2.sparse_matrix_value () / d); return retval; }
--- a/src/OPERATORS/op-s-scm.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-s-scm.cc Sat Feb 21 01:27:23 2009 +0100 @@ -58,7 +58,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v1.scalar_value () / d); + return octave_value (SparseComplexMatrix (1, 1, v1.scalar_value () / d)); } else { @@ -87,13 +87,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v2.complex_matrix_value () / d); - } - else - retval = octave_value (v2.sparse_complex_matrix_value () / d); + retval = octave_value (v2.sparse_complex_matrix_value () / d); return retval; } @@ -118,13 +114,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v2.complex_matrix_value () / d); - } - else - retval = octave_value (v2.sparse_complex_matrix_value () / d); + retval = octave_value (v2.sparse_complex_matrix_value () / d); return retval; }
--- a/src/OPERATORS/op-s-sm.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-s-sm.cc Sat Feb 21 01:27:23 2009 +0100 @@ -54,7 +54,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v1.scalar_value () / d); + return octave_value (SparseMatrix (1, 1, v1.scalar_value () / d)); } else { @@ -81,13 +81,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v2.matrix_value () / d); - } - else - retval = octave_value (v2.sparse_matrix_value () / d); + retval = octave_value (v2.sparse_matrix_value () / d); return retval; } @@ -111,13 +107,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v2.matrix_value () / d); - } - else - retval = octave_value (v2.sparse_matrix_value () / d); + retval = octave_value (v2.sparse_matrix_value () / d); return retval; }
--- a/src/OPERATORS/op-scm-cs.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-scm-cs.cc Sat Feb 21 01:27:23 2009 +0100 @@ -53,13 +53,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = (v1.complex_matrix_value () / d); - } - else - retval = octave_value (v1.sparse_complex_matrix_value () / d); + retval = octave_value (v1.sparse_complex_matrix_value () / d); return retval; } @@ -82,7 +78,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v2.complex_value () / d); + return octave_value (SparseComplexMatrix (1, 1, v2.complex_value () / d)); } else { @@ -114,13 +110,9 @@ Complex d = v2.complex_value (); if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v1.complex_matrix_value () / d); - } - else - retval = octave_value (v1.sparse_complex_matrix_value () / d); + retval = octave_value (v1.sparse_complex_matrix_value () / d); return retval; }
--- a/src/OPERATORS/op-scm-s.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-scm-s.cc Sat Feb 21 01:27:23 2009 +0100 @@ -56,13 +56,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v1.complex_matrix_value () / d); - } - else - retval = octave_value (v1.sparse_complex_matrix_value () / d); + retval = octave_value (v1.sparse_complex_matrix_value () / d); return retval; } @@ -90,7 +86,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v2.scalar_value () / d); + return octave_value (SparseComplexMatrix (1, 1, v2.scalar_value () / d)); } else { @@ -121,13 +117,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v1.complex_matrix_value () / d); - } - else - retval = octave_value (v1.sparse_complex_matrix_value () / d); + retval = octave_value (v1.sparse_complex_matrix_value () / d); return retval; }
--- a/src/OPERATORS/op-sm-cs.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-sm-cs.cc Sat Feb 21 01:27:23 2009 +0100 @@ -54,13 +54,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v1.matrix_value () / d); - } - else - retval = octave_value (v1.sparse_matrix_value () / d); + retval = octave_value (v1.sparse_matrix_value () / d); return retval; } @@ -82,7 +78,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v2.complex_value () / d); + return octave_value (SparseComplexMatrix (1, 1, v2.complex_value () / d)); } else { @@ -112,13 +108,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v1.matrix_value () / d); - } - else - retval = octave_value (v1.sparse_matrix_value () / d); + retval = octave_value (v1.sparse_matrix_value () / d); return retval; }
--- a/src/OPERATORS/op-sm-s.cc Fri Feb 20 21:49:26 2009 +0100 +++ b/src/OPERATORS/op-sm-s.cc Sat Feb 21 01:27:23 2009 +0100 @@ -51,13 +51,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v1.matrix_value () / d); - } - else - retval = octave_value (v1.sparse_matrix_value () / d); + retval = octave_value (v1.sparse_matrix_value () / d); return retval; } @@ -84,7 +80,7 @@ if (d == 0.0) gripe_divide_by_zero (); - return octave_value (v2.scalar_value () / d); + return octave_value (SparseMatrix(1, 1, v2.scalar_value () / d)); } else { @@ -114,13 +110,9 @@ octave_value retval; if (d == 0.0) - { - gripe_divide_by_zero (); + gripe_divide_by_zero (); - retval = octave_value (v1.matrix_value () / d); - } - else - retval = octave_value (v1.sparse_matrix_value () / d); + retval = octave_value (v1.sparse_matrix_value () / d); return retval; }