changeset 10815:0eb323b71957

simplify narrowing of diagonal matrices
author Jaroslav Hajek <highegg@gmail.com>
date Fri, 23 Jul 2010 08:20:39 +0200
parents 83896a06adaf
children 7fa044155982
files src/ChangeLog src/ov-cx-diag.cc src/ov-flt-cx-diag.cc src/ov-flt-re-diag.cc src/ov-re-diag.cc
diffstat 5 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2010-07-23  Jaroslav Hajek  <highegg@gmail.com>
+
+	* ov-re-diag.cc (octave_diag_matrix::try_narrowing_conversion): Remove
+	redundant cast.
+	* ov-flt-re-diag.cc 
+	(octave_float_diag_matrix::try_narrowing_conversion): Ditto.
+	* ov-cx-diag.cc 
+	(octave_complex_diag_matrix::try_narrowing_conversion): Ditto.
+	* ov-flt-cx-diag.cc 
+	(octave_float_complex_diag_matrix::try_narrowing_conversion): Ditto.
+
 2010-07-23  Jaroslav Hajek  <highegg@gmail.com>
 
 	* pt-mat.cc (do_single_type_concat_no_mutate): Remove.
--- a/src/ov-cx-diag.cc
+++ b/src/ov-cx-diag.cc
@@ -78,8 +78,7 @@
 
   if (matrix.nelem () == 1)
     {
-      // FIXME: the proxy mechanism of DiagArray2 causes problems here.
-      retval = new octave_complex (Complex (matrix (0, 0)));
+      retval = new octave_complex (matrix (0, 0));
       octave_base_value *rv2 = retval->try_narrowing_conversion ();
       if (rv2)
         {
--- a/src/ov-flt-cx-diag.cc
+++ b/src/ov-flt-cx-diag.cc
@@ -62,8 +62,7 @@
 
   if (matrix.nelem () == 1)
     {
-      // FIXME: the proxy mechanism of DiagArray2 causes problems here.
-      retval = new octave_float_complex (FloatComplex (matrix (0, 0)));
+      retval = new octave_float_complex (matrix (0, 0));
       octave_base_value *rv2 = retval->try_narrowing_conversion ();
       if (rv2)
         {
--- a/src/ov-flt-re-diag.cc
+++ b/src/ov-flt-re-diag.cc
@@ -59,9 +59,8 @@
 {
   octave_base_value *retval = 0;
 
-  // FIXME: the proxy mechanism of DiagArray2 causes problems here.
   if (matrix.nelem () == 1)
-    retval = new octave_float_scalar (float (matrix (0, 0)));
+    retval = new octave_float_scalar (matrix (0, 0));
 
   return retval;
 }
--- a/src/ov-re-diag.cc
+++ b/src/ov-re-diag.cc
@@ -74,9 +74,8 @@
 {
   octave_base_value *retval = 0;
 
-  // FIXME: the proxy mechanism of DiagArray2 causes problems here.
   if (matrix.nelem () == 1)
-    retval = new octave_scalar (double (matrix (0, 0)));
+    retval = new octave_scalar (matrix (0, 0));
 
   return retval;
 }