diff src/ov.cc @ 8367:445d27d79f4e

support permutation matrix objects
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 04 Dec 2008 08:31:56 +0100
parents 8b1a2555c4e2
children ad3afaaa19c1
line wrap: on
line diff
--- a/src/ov.cc	Wed Dec 03 13:32:57 2008 +0100
+++ b/src/ov.cc	Thu Dec 04 08:31:56 2008 +0100
@@ -42,6 +42,8 @@
 #include "ov-flt-re-mat.h"
 #include "ov-re-diag.h"
 #include "ov-flt-re-diag.h"
+#include "ov-perm.h"
+#include "ov-flt-perm.h"
 #include "ov-bool-sparse.h"
 #include "ov-cx-sparse.h"
 #include "ov-re-sparse.h"
@@ -691,6 +693,15 @@
   maybe_mutate ();
 }
 
+octave_value::octave_value (const PermMatrix& p, bool single)
+  : rep ()
+{
+  if (single)
+    rep = new octave_float_perm_matrix (p);
+  else
+    rep = new octave_perm_matrix (p);
+}
+
 octave_value::octave_value (bool b)
   : rep (new octave_bool (b))
 {
@@ -2367,6 +2378,8 @@
   octave_float_diag_matrix::register_type ();
   octave_float_complex_matrix::register_type ();
   octave_float_complex_diag_matrix::register_type ();
+  octave_perm_matrix::register_type ();
+  octave_float_perm_matrix::register_type ();
   octave_null_matrix::register_type ();
   octave_null_str::register_type ();
   octave_null_sq_str::register_type ();