Mercurial > hg > octave-nkf
diff src/ops.h @ 2601:3723512a827a
[project @ 1997-01-06 05:43:16 by jwe]
author | jwe |
---|---|
date | Mon, 06 Jan 1997 05:44:24 +0000 |
parents | 2142216bf85a |
children | e2d1b073b78a |
line wrap: on
line diff
--- a/src/ops.h +++ b/src/ops.h @@ -60,20 +60,24 @@ retval (i, j) = test; \ return retval; -#define SC_MX_BOOL_OP(st, sn, get_s, mt, mn, get_m, test) \ +#define SC_MX_BOOL_OP(st, sn, get_s, mt, mn, get_m, test, empty_result) \ do \ { \ BOOL_OP1 (st, sn, get_s, mt, mn, get_m) \ BOOL_OP2 (mn) \ + if (nr == 0|| nc == 0) \ + return empty_result; \ BOOL_OP3 (test) \ } \ while (0) -#define MX_SC_BOOL_OP(mt, mn, get_m, st, sn, get_s, test) \ +#define MX_SC_BOOL_OP(mt, mn, get_m, st, sn, get_s, test, empty_result) \ do \ { \ BOOL_OP1 (mt, mn, get_m, st, sn, get_s) \ BOOL_OP2 (mn) \ + if (nr == 0|| nc == 0) \ + return empty_result; \ BOOL_OP3 (test) \ } \ while (0) @@ -83,10 +87,10 @@ do \ { \ BOOL_OP1 (m1t, m1n, get_m1, m2t, m2n, get_m2) \ - int m1_nr = m1.rows (); \ - int m1_nc = m1.cols (); \ - int m2_nr = m2.rows (); \ - int m2_nc = m2.cols (); \ + int m1_nr = m1n.rows (); \ + int m1_nc = m1n.cols (); \ + int m2_nr = m2n.rows (); \ + int m2_nc = m2n.cols (); \ if (m1_nr != m2_nr || m1_nc != m2_nc) \ { \ gripe_nonconformant ("operator " op, m1_nr, m1_nc, m2_nr, m2_nc); \