diff src/ov-cx-mat.cc @ 5900:c20eb7330d13

[project @ 2006-07-22 08:31:16 by jwe]
author jwe
date Sat, 22 Jul 2006 08:31:17 +0000
parents 22e23bee74c8
children cdef72fcd206
line wrap: on
line diff
--- a/src/ov-cx-mat.cc	Wed Jul 19 23:00:22 2006 +0000
+++ b/src/ov-cx-mat.cc	Sat Jul 22 08:31:17 2006 +0000
@@ -655,6 +655,27 @@
 			 current_print_indent_level ());
 }
 
+mxArray *
+octave_complex_matrix::as_mxArray (void) const
+{
+  mxArray *retval = new mxArray (mxDOUBLE_CLASS, dims (), mxCOMPLEX);
+
+  double *pr = static_cast<double *> (retval->get_data ());
+  double *pi = static_cast<double *> (retval->get_imag_data ());
+
+  int nel = numel ();
+
+  const Complex *p = matrix.data ();
+
+  for (int i = 0; i < nel; i++)
+    {
+      pr[i] = real (p[i]);
+      pi[i] = imag (p[i]);
+    }
+
+  return retval;
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***