Mercurial > hg > octave-lyh
diff liboctave/chMatrix.cc @ 4015:6476dd85a65f
[project @ 2002-08-02 07:59:19 by jwe]
author | jwe |
---|---|
date | Fri, 02 Aug 2002 07:59:20 +0000 |
parents | b8c1cb5b9fd9 |
children | 6e86256e9c54 |
line wrap: on
line diff
--- a/liboctave/chMatrix.cc +++ b/liboctave/chMatrix.cc @@ -192,115 +192,19 @@ return result; } -// XXX FIXME XXX -- these should probably return a boolMatrix type -// instead, but that will have to wait for a future version... +// XXX FIXME XXX Do these really belong here? Maybe they should be +// in a base class? -Matrix -charMatrix::all (void) const +boolMatrix +charMatrix::all (int dim) const { - int nr = rows (); - int nc = cols (); - Matrix retval; - if (nr > 0 && nc > 0) - { - if (nr == 1) - { - retval.resize (1, 1); - retval.elem (0, 0) = 1.0; - for (int j = 0; j < nc; j++) - { - if (elem (0, j) == 0) - { - retval.elem (0, 0) = 0.0; - break; - } - } - } - else if (nc == 1) - { - retval.resize (1, 1); - retval.elem (0, 0) = 1.0; - for (int i = 0; i < nr; i++) - { - if (elem (i, 0) == 0) - { - retval.elem (0, 0) = 0.0; - break; - } - } - } - else - { - retval.resize (1, nc); - for (int j = 0; j < nc; j++) - { - retval.elem (0, j) = 1.0; - for (int i = 0; i < nr; i++) - { - if (elem (i, j) == 0) - { - retval.elem (0, j) = 0.0; - break; - } - } - } - } - } - return retval; + MX_ALL_OP (dim); } -Matrix -charMatrix::any (void) const +boolMatrix +charMatrix::any (int dim) const { - int nr = rows (); - int nc = cols (); - Matrix retval; - if (nr > 0 && nc > 0) - { - if (nr == 1) - { - retval.resize (1, 1); - retval.elem (0, 0) = 0.0; - for (int j = 0; j < nc; j++) - { - if (elem (0, j) != 0) - { - retval.elem (0, 0) = 1.0; - break; - } - } - } - else if (nc == 1) - { - retval.resize (1, 1); - retval.elem (0, 0) = 0.0; - for (int i = 0; i < nr; i++) - { - if (elem (i, 0) != 0) - { - retval.elem (0, 0) = 1.0; - break; - } - } - } - else - { - retval.resize (1, nc); - for (int j = 0; j < nc; j++) - { - retval.elem (0, j) = 0.0; - for (int i = 0; i < nr; i++) - { - if (elem (i, j) != 0) - { - retval.elem (0, j) = 1.0; - break; - } - } - } - } - } - return retval; + MX_ANY_OP (dim); } /*