diff src/OPERATORS/op-s-scm.cc @ 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 e5055ed23f52
children eb63fbe60fab
line wrap: on
line diff
--- 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;
 }