# HG changeset patch # User John W. Eaton # Date 1249580537 14400 # Node ID d5570d4b1116f9ab4e01865baa6f86605fb20e1f # Parent f7cc8f30f3b87d4cf4f690815cc19a09beb01bc8 handle null matrix assignment for diagonal and permutation matrices diff -r f7cc8f30f3b8 -r d5570d4b1116 src/ChangeLog --- a/src/ChangeLog Thu Aug 06 14:39:02 2009 +0200 +++ b/src/ChangeLog Thu Aug 06 13:42:17 2009 -0400 @@ -1,3 +1,11 @@ +2009-08-06 John W. Eaton + + * OPERATORS/op-cdm-m.cc, OPERATORS/op-dm-m.cc, OPERATORS/op-pm-m.cc: + Define LDMATRIX and DEFINENULLASSIGNCONV. + * OPERATORS/op-dm-template.cc, OPERATORS/op-pm-template.cc: + Include ov-null-mat.h and define assignment conversion for null + matrices if DEFINENULLASSIGNCONV is defined. Define OCTAVE_LDMATRIX. + 2009-08-05 John W. Eaton * pt-eval.cc (tree_evaluator::visit_complex_for_command): diff -r f7cc8f30f3b8 -r d5570d4b1116 src/OPERATORS/op-cdm-m.cc --- a/src/OPERATORS/op-cdm-m.cc Thu Aug 06 14:39:02 2009 +0200 +++ b/src/OPERATORS/op-cdm-m.cc Thu Aug 06 13:42:17 2009 -0400 @@ -1,6 +1,6 @@ /* -Copyright (C) 2008 Jaroslav Hajek +Copyright (C) 2008, 2009 Jaroslav Hajek This file is part of Octave. @@ -24,6 +24,7 @@ #define RINCLUDE "ov-re-mat.h" #define LMATRIX complex_diag_matrix +#define LDMATRIX complex_matrix #define RMATRIX matrix #define RDMATRIX complex_matrix @@ -31,6 +32,7 @@ #define RSHORT m #define DEFINELDIV +#define DEFINENULLASSIGNCONV #include "op-dm-template.cc" diff -r f7cc8f30f3b8 -r d5570d4b1116 src/OPERATORS/op-dm-m.cc --- a/src/OPERATORS/op-dm-m.cc Thu Aug 06 14:39:02 2009 +0200 +++ b/src/OPERATORS/op-dm-m.cc Thu Aug 06 13:42:17 2009 -0400 @@ -1,6 +1,6 @@ /* -Copyright (C) 2008 Jaroslav Hajek +Copyright (C) 2008, 2009 Jaroslav Hajek This file is part of Octave. @@ -24,12 +24,14 @@ #define RINCLUDE "ov-re-mat.h" #define LMATRIX diag_matrix +#define LDMATRIX matrix #define RMATRIX matrix #define LSHORT dm #define RSHORT m #define DEFINELDIV +#define DEFINENULLASSIGNCONV #include "op-dm-template.cc" diff -r f7cc8f30f3b8 -r d5570d4b1116 src/OPERATORS/op-dm-template.cc --- a/src/OPERATORS/op-dm-template.cc Thu Aug 06 14:39:02 2009 +0200 +++ b/src/OPERATORS/op-dm-template.cc Thu Aug 06 13:42:17 2009 -0400 @@ -1,6 +1,6 @@ /* -Copyright (C) 2008 Jaroslav Hajek +Copyright (C) 2008, 2009 Jaroslav Hajek This file is part of Octave. @@ -28,6 +28,9 @@ #include "xdiv.h" #include LINCLUDE #include RINCLUDE +#ifdef DEFINENULLASSIGNCONV +#include "ov-null-mat.h" +#endif // matrix by diag matrix ops. @@ -44,6 +47,7 @@ #endif #define OCTAVE_LMATRIX CONCAT2(octave_, LMATRIX) +#define OCTAVE_LDMATRIX CONCAT2(octave_, LDMATRIX) #define OCTAVE_RMATRIX CONCAT2(octave_, RMATRIX) #define LMATRIX_VALUE CONCAT2(LMATRIX, _value) #define RMATRIX_VALUE CONCAT2(RMATRIX, _value) @@ -83,6 +87,7 @@ #ifdef DEFINELDIV INSTALL_BINOP (op_ldiv, OCTAVE_LMATRIX, OCTAVE_RMATRIX, ldiv); #endif +#ifdef DEFINENULLASSIGNCONV + INSTALL_ASSIGNCONV (OCTAVE_LMATRIX, octave_null_matrix, OCTAVE_LDMATRIX); +#endif } - - diff -r f7cc8f30f3b8 -r d5570d4b1116 src/OPERATORS/op-pm-m.cc --- a/src/OPERATORS/op-pm-m.cc Thu Aug 06 14:39:02 2009 +0200 +++ b/src/OPERATORS/op-pm-m.cc Thu Aug 06 13:42:17 2009 -0400 @@ -1,6 +1,6 @@ /* -Copyright (C) 2008 Jaroslav Hajek +Copyright (C) 2008, 2009 Jaroslav Hajek This file is part of Octave. @@ -23,11 +23,13 @@ #define MINCLUDE "ov-re-mat.h" #define LMATRIX perm_matrix +#define LDMATRIX matrix #define RMATRIX matrix #define LSHORT pm #define RSHORT m #define LEFT +#define DEFINENULLASSIGNCONV #include "op-pm-template.cc" diff -r f7cc8f30f3b8 -r d5570d4b1116 src/OPERATORS/op-pm-template.cc --- a/src/OPERATORS/op-pm-template.cc Thu Aug 06 14:39:02 2009 +0200 +++ b/src/OPERATORS/op-pm-template.cc Thu Aug 06 13:42:17 2009 -0400 @@ -1,6 +1,6 @@ /* -Copyright (C) 2008 Jaroslav Hajek +Copyright (C) 2008, 2009 Jaroslav Hajek This file is part of Octave. @@ -27,8 +27,16 @@ #include "ov-perm.h" #include MINCLUDE #include "ops.h" +#ifdef DEFINENULLASSIGNCONV +#include "ov-null-mat.h" +#endif + +#ifndef LDMATRIX +#define LDMATRIX LMATRIX +#endif #define OCTAVE_LMATRIX CONCAT2(octave_, LMATRIX) +#define OCTAVE_LDMATRIX CONCAT2(octave_, LDMATRIX) #define OCTAVE_RMATRIX CONCAT2(octave_, RMATRIX) #ifdef LEFT #define LMATRIX_VALUE perm_matrix_value @@ -74,4 +82,7 @@ #else INSTALL_BINOP (op_div, OCTAVE_LMATRIX, OCTAVE_RMATRIX, div); #endif +#ifdef DEFINENULLASSIGNCONV + INSTALL_ASSIGNCONV (OCTAVE_LMATRIX, octave_null_matrix, OCTAVE_LDMATRIX); +#endif }