# HG changeset patch # User jwe # Date 1197394580 0 # Node ID e5055ed23f5249197120b6328fbbb4e733d15241 # Parent 1885f4c7e4b3483dfcb10372510bf94393608de8 [project @ 2007-12-11 17:36:19 by jwe] diff -r 1885f4c7e4b3 -r e5055ed23f52 src/ChangeLog --- a/src/ChangeLog Tue Dec 11 17:19:44 2007 +0000 +++ b/src/ChangeLog Tue Dec 11 17:36:20 2007 +0000 @@ -1,5 +1,12 @@ 2007-12-11 David Bateman + * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, + OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc: Privilege + conversion to dense matrices for compatibility. + * DLD-FUNCTIONS/sparse.cc (FSparse): Remove the mutate flag, as default bahavior is now to keep matrix sparse always. diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-b-sbm.cc --- a/src/OPERATORS/op-b-sbm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-b-sbm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -30,6 +30,7 @@ #include "ov.h" #include "ov-typeinfo.h" #include "ov-bool.h" +#include "ov-bool-mat.h" #include "ov-scalar.h" #include "ops.h" @@ -86,7 +87,8 @@ INSTALL_CATOP (octave_bool, octave_sparse_matrix, b_sm); INSTALL_CATOP (octave_scalar, octave_sparse_bool_matrix, s_sbm); - INSTALL_ASSIGNCONV (octave_bool, octave_sparse_bool_matrix, octave_sparse_bool_matrix); + INSTALL_ASSIGNCONV (octave_bool, octave_sparse_bool_matrix, + octave_bool_matrix); INSTALL_WIDENOP (octave_bool, octave_sparse_bool_matrix, sparse_bool_matrix_conv); } diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-bm-sbm.cc --- a/src/OPERATORS/op-bm-sbm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-bm-sbm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -75,6 +75,8 @@ (SparseBoolMatrix (v.bool_matrix_value ())); } +DEFNDASSIGNOP_FN (assign, bool_matrix, sparse_bool_matrix, bool_array, assign) + void install_bm_sbm_ops (void) { @@ -90,8 +92,10 @@ INSTALL_CATOP (octave_bool_matrix, octave_sparse_matrix, bm_sm); INSTALL_CATOP (octave_matrix, octave_sparse_bool_matrix, m_sbm); + INSTALL_ASSIGNOP (op_asn_eq, octave_bool_matrix, octave_sparse_bool_matrix, + assign) INSTALL_ASSIGNCONV (octave_bool_matrix, octave_sparse_bool_matrix, - octave_sparse_bool_matrix); + octave_bool_matrix); INSTALL_WIDENOP (octave_bool_matrix, octave_sparse_bool_matrix, sparse_bool_matrix_conv); diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-cm-scm.cc --- a/src/OPERATORS/op-cm-scm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-cm-scm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -140,6 +140,9 @@ (SparseComplexMatrix (v.complex_matrix_value ())); } +DEFNDASSIGNOP_FN (assign, complex_matrix, sparse_complex_matrix, + complex_array, assign) + void install_cm_scm_ops (void) { @@ -183,8 +186,10 @@ INSTALL_CATOP (octave_complex_matrix, octave_sparse_complex_matrix, cm_scm); + INSTALL_ASSIGNOP (op_asn_eq, octave_complex_matrix, + octave_sparse_complex_matrix, assign) INSTALL_ASSIGNCONV (octave_complex_matrix, octave_sparse_complex_matrix, - octave_sparse_complex_matrix); + octave_complex_matrix); INSTALL_WIDENOP (octave_complex_matrix, octave_sparse_complex_matrix, sparse_complex_matrix_conv); diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-cm-sm.cc --- a/src/OPERATORS/op-cm-sm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-cm-sm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -128,6 +128,8 @@ return octave_value (tmp. concat (v2.sparse_matrix_value (), ra_idx)); } +DEFNDASSIGNOP_FN (assign, complex_matrix, sparse_matrix, complex_array, assign) + void install_cm_sm_ops (void) { @@ -158,6 +160,11 @@ INSTALL_CATOP (octave_complex_matrix, octave_sparse_matrix, cm_sm); + INSTALL_ASSIGNOP (op_asn_eq, octave_complex_matrix, octave_sparse_matrix, + assign); + INSTALL_ASSIGNCONV (octave_complex_matrix, octave_sparse_matrix, + octave_complex_matrix) + } /* diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-cs-scm.cc --- a/src/OPERATORS/op-cs-scm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-cs-scm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -169,7 +169,7 @@ INSTALL_CATOP (octave_complex, octave_sparse_complex_matrix, cs_scm); INSTALL_ASSIGNCONV (octave_complex, octave_sparse_complex_matrix, - octave_sparse_complex_matrix); + octave_complex_matrix); INSTALL_WIDENOP (octave_complex, octave_sparse_complex_matrix, sparse_complex_matrix_conv); diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-cs-sm.cc --- a/src/OPERATORS/op-cs-sm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-cs-sm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -167,7 +167,8 @@ INSTALL_CATOP (octave_complex, octave_sparse_matrix, cs_sm); - INSTALL_ASSIGNCONV (octave_complex, octave_sparse_matrix, octave_sparse_matrix); + INSTALL_ASSIGNCONV (octave_complex, octave_sparse_matrix, + octave_complex_matrix); INSTALL_WIDENOP (octave_complex, octave_sparse_matrix, sparse_matrix_conv); } diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-m-scm.cc --- a/src/OPERATORS/op-m-scm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-m-scm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -168,7 +168,7 @@ INSTALL_CATOP (octave_matrix, octave_sparse_complex_matrix, m_scm); INSTALL_ASSIGNCONV (octave_matrix, octave_sparse_complex_matrix, - octave_sparse_complex_matrix); + octave_complex_matrix); INSTALL_WIDENOP (octave_matrix, octave_sparse_complex_matrix, sparse_complex_matrix_conv); diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-m-sm.cc --- a/src/OPERATORS/op-m-sm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-m-sm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -129,6 +129,8 @@ return new octave_sparse_matrix (SparseMatrix (v.matrix_value ())); } +DEFNDASSIGNOP_FN (assign, matrix, sparse_matrix, array, assign) + void install_m_sm_ops (void) { @@ -153,8 +155,8 @@ INSTALL_CATOP (octave_matrix, octave_sparse_matrix, m_sm); - INSTALL_ASSIGNCONV (octave_matrix, octave_sparse_matrix, - octave_sparse_matrix); + INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_sparse_matrix, assign) + INSTALL_ASSIGNCONV (octave_matrix, octave_sparse_matrix, octave_matrix) INSTALL_WIDENOP (octave_matrix, octave_sparse_matrix, sparse_matrix_conv); diff -r 1885f4c7e4b3 -r e5055ed23f52 src/OPERATORS/op-s-scm.cc --- a/src/OPERATORS/op-s-scm.cc Tue Dec 11 17:19:44 2007 +0000 +++ b/src/OPERATORS/op-s-scm.cc Tue Dec 11 17:36:20 2007 +0000 @@ -179,7 +179,7 @@ INSTALL_CATOP (octave_scalar, octave_sparse_complex_matrix, s_scm); INSTALL_ASSIGNCONV (octave_scalar, octave_sparse_complex_matrix, - octave_sparse_complex_matrix); + octave_complex_matrix); INSTALL_WIDENOP (octave_scalar, octave_sparse_complex_matrix, sparse_complex_matrix_conv);