diff src/OPERATORS/op-sm-sm.cc @ 7342:9c7073003700

[project @ 2008-01-03 23:05:19 by jwe]
author jwe
date Thu, 03 Jan 2008 23:05:19 +0000
parents a1dbe9d80eee
children 283989f2da9b
line wrap: on
line diff
--- a/src/OPERATORS/op-sm-sm.cc	Wed Jan 02 07:42:04 2008 +0000
+++ b/src/OPERATORS/op-sm-sm.cc	Thu Jan 03 23:05:19 2008 +0000
@@ -52,7 +52,19 @@
 // sparse matrix by sparse matrix ops.
 
 DEFBINOP_OP (add, sparse_matrix, sparse_matrix, +)
-DEFBINOP_OP (sub, sparse_matrix, sparse_matrix, -)
+
+// DEFBINOP_OP (sub, sparse_matrix, sparse_matrix, -)
+
+  static octave_value
+  oct_binop_sub (const octave_base_value& a1, const octave_base_value& a2)
+  {
+    const octave_sparse_matrix& v1 = dynamic_cast<const octave_sparse_matrix&> (a1);
+    const octave_sparse_matrix& v2 = dynamic_cast<const octave_sparse_matrix&> (a2);
+    SparseMatrix m = v1.sparse_matrix_value () - v2.sparse_matrix_value ();
+
+    return octave_value (m);
+  }
+
 DEFBINOP_OP (mul, sparse_matrix, sparse_matrix, *)
 
 DEFBINOP (div, sparse_matrix, sparse_matrix)