*** ./liboctave/oct-inttypes.h.orig4 2004-08-26 12:50:59.000000000 +0200 --- ./liboctave/oct-inttypes.h 2004-08-26 15:04:50.000000000 +0200 *************** *** 215,220 **** --- 215,245 ---- T ival; }; + template T pow(T a, T b) + { + T one = T (1); + + if (! b) + return one; + else if (b < T (0)) + return T (0); + else + { + T retval = a; + b -= 1; + + while (b) + { + if (b & one) + retval = retval * a; + b = b >> 1; + if (b > 0) + a = a * a; + } + return retval; + } + } + template std::ostream& operator << (std::ostream& os, const octave_int& ival) *** ./liboctave/int8NDArray.cc.orig4 2004-08-26 13:47:40.000000000 +0200 --- ./liboctave/int8NDArray.cc 2004-08-26 13:48:35.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_int8 pow (octave_int8 a, octave_int8 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./liboctave/int16NDArray.cc.orig4 2004-08-26 13:47:47.000000000 +0200 --- ./liboctave/int16NDArray.cc 2004-08-26 13:49:14.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_int16 pow (octave_int16 a, octave_int16 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./liboctave/int32NDArray.cc.orig4 2004-08-26 13:47:55.000000000 +0200 --- ./liboctave/int32NDArray.cc 2004-08-26 13:50:28.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_int32 pow (octave_int32 a, octave_int32 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./liboctave/int64NDArray.cc.orig4 2004-08-26 13:48:03.000000000 +0200 --- ./liboctave/int64NDArray.cc 2004-08-26 13:51:12.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_int64 pow (octave_int64 a, octave_int64 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./liboctave/uint8NDArray.cc.orig4 2004-08-26 13:48:11.000000000 +0200 --- ./liboctave/uint8NDArray.cc 2004-08-26 13:51:49.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_uint8 pow (octave_uint8 a, octave_uint8 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./liboctave/uint16NDArray.cc.orig4 2004-08-26 13:48:17.000000000 +0200 --- ./liboctave/uint16NDArray.cc 2004-08-26 13:52:41.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_uint16 pow (octave_uint16 a, octave_uint16 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./liboctave/uint32NDArray.cc.orig4 2004-08-26 13:48:23.000000000 +0200 --- ./liboctave/uint32NDArray.cc 2004-08-26 13:53:01.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_uint32 pow (octave_uint32 a, octave_uint32 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./liboctave/uint64NDArray.cc.orig4 2004-08-26 13:48:29.000000000 +0200 --- ./liboctave/uint64NDArray.cc 2004-08-26 13:53:23.000000000 +0200 *************** *** 35,40 **** --- 35,42 ---- template class intNDArray; + template octave_uint64 pow (octave_uint64 a, octave_uint64 b); + template std::ostream& operator << (std::ostream& os, const intNDArray& a); *** ./scripts/general/bitcmp.m.orig4 2004-08-26 12:50:30.000000000 +0200 --- ./scripts/general/bitcmp.m 2004-08-26 17:13:17.000000000 +0200 *************** *** 39,59 **** usage ("bitcmp (A, n)"); endif ! cname = class (A); ! if (strcmp (cname, "double")) Bmax = bitmax; Amax = log2 (Bmax) + 1; ! elseif strcmp ("uint", substr (cname, 1, 4)) ! Bmax = intmax (cname); ! Amax = eval ([cname, " (log2 (double (intmax (cname))) + 1);"]); else ! Bmax = eval ([cname, " (-1);"]); ! Amax = eval ([cname, " (log2 (double (intmax (cname))) + 2);"]); endif ! Aone = eval ([ cname, "(1);"]); if (nargin == 2) ! m = eval ([cname, " (n(:));"]); if (any (m < Aone) || any (m > Amax)) error ("n must be in the range [1,%d]", Amax); endif --- 39,82 ---- usage ("bitcmp (A, n)"); endif ! if isa (A, "double") Bmax = bitmax; Amax = log2 (Bmax) + 1; ! _conv = @double; else ! if isa (A, "uint8") ! Amax = 8; ! _conv = @uint8; ! elseif isa (A, "uint16") ! Amax = 16; ! _conv = @uint16; ! elseif isa (A, "uint32") ! Amax = 32; ! _conv = @uint32; ! elseif isa (A, "uint64") ! Amax = 64; ! _conv = @uint64; ! elseif isa (A, "int8") ! Amax = 8; ! _conv = @int8; ! elseif isa (A, "int16") ! Amax = 16; ! _conv = @int16; ! elseif isa (A, "int32") ! Amax = 32; ! _conv = @int32; ! elseif isa (A, "int64") ! Amax = 64; ! _conv = @int64; ! else ! error ("invalid class %s", class (A)); ! endif ! Bmax = intmax (class (A)); endif ! Aone = _conv (1); if (nargin == 2) ! m = _conv (n(:)); if (any (m < Aone) || any (m > Amax)) error ("n must be in the range [1,%d]", Amax); endif *** ./scripts/general/bitget.m.orig4 2004-08-26 12:50:37.000000000 +0200 --- ./scripts/general/bitget.m 2004-08-26 17:13:01.000000000 +0200 *************** *** 34,54 **** usage ("bitget (A, n)"); endif ! cname = class (A); ! if (strcmp (cname, "double")) ! Amax = log2 (bitmax) + 1; ! elseif strcmp ("uint", substr (cname, 1, 4)) ! Amax = eval ([cname, " (log2 (double (intmax (cname))) + 1);"]); else ! Amax = eval ([cname, " (log2 (double (intmax (cname))) + 2);"]); endif ! Aone = eval ([ cname, "(1);"]); ! m = eval ([cname, " (n(:));"]); if (any (m < Aone) || any (m > Amax)) error ("n must be in the range [1,%d]", Amax); endif ! X = eval (["bitand (A, ", cname, " (2) .^ (", cname, " (n) - Aone)) != ", cname, "(0);"]); ! endfunction --- 34,79 ---- usage ("bitget (A, n)"); endif ! if isa (A, "double") ! Bmax = bitmax; ! Amax = log2 (Bmax) + 1; ! _conv = @double; else ! if isa (A, "uint8") ! Amax = 8; ! _conv = @uint8; ! elseif isa (A, "uint16") ! Amax = 16; ! _conv = @uint16; ! elseif isa (A, "uint32") ! Amax = 32; ! _conv = @uint32; ! elseif isa (A, "uint64") ! Amax = 64; ! _conv = @uint64; ! elseif isa (A, "int8") ! Amax = 8; ! _conv = @int8; ! elseif isa (A, "int16") ! Amax = 16; ! _conv = @int16; ! elseif isa (A, "int32") ! Amax = 32; ! _conv = @int32; ! elseif isa (A, "int64") ! Amax = 64; ! _conv = @int64; ! else ! error ("invalid class %s", class (A)); ! endif ! Bmax = intmax (class (A)); endif ! Aone = _conv (1); ! m = _conv (n(:)); if (any (m < Aone) || any (m > Amax)) error ("n must be in the range [1,%d]", Amax); endif ! X = bitand (A, _conv (2) .^ ( _conv (n) - Aone)) != _conv (0); endfunction *** ./scripts/general/bitset.m.orig4 2004-08-26 12:50:42.000000000 +0200 --- ./scripts/general/bitset.m 2004-08-26 17:13:10.000000000 +0200 *************** *** 41,69 **** value = 1; endif ! cname = class (A); ! if (strcmp (cname, "double")) Bmax = bitmax; Amax = log2 (Bmax) + 1; ! elseif strcmp("uint", substr (cname, 1, 4)) ! Bmax = intmax (cname); ! Amax = eval ([cname, " (log2 (double (intmax (cname))) + 1);"]); else ! Bmax = eval ([cname, " (-1);"]); ! Amax = eval ([cname, " (log2 (double (intmax (cname))) + 2);"]); endif ! Aone = eval ([ cname, "(1);"]); ! m = eval ([cname, " (n(:));"]); if (any (m < Aone) || any (m > Amax)) error ("n must be in the range [1,%d]", Amax); endif ## XXX FIXME XXX Need extra cast to cname due to bad return value of .^ ! X = eval (["bitand (A, Bmax - ", cname, " (", cname, " (2) .^ (", cname, " (n) - Aone)));"]); if (value) ! X = eval (["bitor (A, ", cname, " (2) .^ (", cname, " (n) - Aone));"]); endif endfunction --- 41,92 ---- value = 1; endif ! if isa (A, "double") Bmax = bitmax; Amax = log2 (Bmax) + 1; ! _conv = @double; else ! if isa (A, "uint8") ! Amax = 8; ! _conv = @uint8; ! elseif isa (A, "uint16") ! Amax = 16; ! _conv = @uint16; ! elseif isa (A, "uint32") ! Amax = 32; ! _conv = @uint32; ! elseif isa (A, "uint64") ! Amax = 64; ! _conv = @uint64; ! elseif isa (A, "int8") ! Amax = 8; ! _conv = @int8; ! elseif isa (A, "int16") ! Amax = 16; ! _conv = @int16; ! elseif isa (A, "int32") ! Amax = 32; ! _conv = @int32; ! elseif isa (A, "int64") ! Amax = 64; ! _conv = @int64; ! else ! error ("invalid class %s", class (A)); ! endif ! Bmax = intmax (class (A)); endif ! Aone = _conv (1); ! m = _conv (n(:)); if (any (m < Aone) || any (m > Amax)) error ("n must be in the range [1,%d]", Amax); endif ## XXX FIXME XXX Need extra cast to cname due to bad return value of .^ ! X = bitand (A, Bmax - _conv (_conv (2) .^ (_conv (n) - Aone))); if (value) ! X = bitor (A, _conv (2) .^ (_conv (n) - Aone)); endif endfunction *** ./src/OPERATORS/op-int.h.orig4 2004-08-26 14:24:15.000000000 +0200 --- ./src/OPERATORS/op-int.h 2004-08-26 16:11:36.000000000 +0200 *************** *** 20,25 **** --- 20,27 ---- */ + #include "quit.h" + #define OCTAVE_CONCAT_FN(TYPE) \ DEFNDCATOP_FN (TYPE ## _s_s, TYPE ## _scalar, TYPE ## _scalar, TYPE ## _array, TYPE ## _array, concat) \ DEFNDCATOP_FN (TYPE ## _s_m, TYPE ## _scalar, TYPE ## _matrix, TYPE ## _array, TYPE ## _array, concat) \ *************** *** 62,68 **** return octave_value (v1.T1 ## _scalar_value () / d); \ } \ \ ! /* DEFBINOP_FN (ss_pow, T1 ## _scalar, T2 ## _scalar, xpow) */ \ \ DEFBINOP (ss_ldiv, T1 ## _scalar, T2 ## _scalar) \ { \ --- 64,70 ---- return octave_value (v1.T1 ## _scalar_value () / d); \ } \ \ ! DEFBINOP_FN (ss_pow, T1 ## _scalar, T2 ## _scalar, xpow) \ \ DEFBINOP (ss_ldiv, T1 ## _scalar, T2 ## _scalar) \ { \ *************** *** 116,123 **** --- 118,129 ---- DEFBINOP_OP (ss_gt, T1 ## _scalar, T2 ## _scalar, >) \ DEFBINOP_OP (ss_ne, T1 ## _scalar, T2 ## _scalar, !=) + #define OCTAVE_SS_POW_OPS(T1, T2) \ + octave_value xpow (octave_ ## T1 a, octave_ ## T2 b) {return pow (a, b);} + #define OCTAVE_SS_INT_OPS(TYPE) \ OCTAVE_S_INT_UNOPS (TYPE) \ + OCTAVE_SS_POW_OPS (TYPE, TYPE) \ OCTAVE_SS_INT_ARITH_OPS (TYPE, TYPE) \ OCTAVE_SS_INT_CMP_OPS (TYPE, TYPE) \ OCTAVE_SS_INT_BOOL_OPS (TYPE, TYPE) *************** *** 160,174 **** \ DEFNDBINOP_OP (sm_el_mul, TS ## _scalar, TM ## _matrix, TS ## _scalar, TM ## _array, *) \ /* DEFNDBINOP_FN (sm_el_div, TS ## _scalar, TM ## _matrix, TS ## _scalar, TM ## _array, x_el_div) */ \ ! DEFBINOP (sm_el_pow, TS ## _scalar, TM ## _matrix) \ ! { \ ! CAST_BINOP_ARGS (const octave_ ## TS ## _scalar&, const octave_ ## TM ## _matrix&); \ ! \ ! double d = v1.TS ## _scalar_value (); \ ! \ ! /* XXX FIXME XXX Return type wrong */ \ ! return octave_value (elem_xpow (d, v2.array_value())); \ ! } \ \ /* DEFBINOP (sm_el_ldiv, TS ## _scalar, TM ## _matrix) */ \ /* { */ \ --- 166,172 ---- \ DEFNDBINOP_OP (sm_el_mul, TS ## _scalar, TM ## _matrix, TS ## _scalar, TM ## _array, *) \ /* DEFNDBINOP_FN (sm_el_div, TS ## _scalar, TM ## _matrix, TS ## _scalar, TM ## _array, x_el_div) */ \ ! DEFNDBINOP_FN (sm_el_pow, TS ## _scalar, TM ## _matrix, TS ## _scalar, TM ## _array, elem_xpow) \ \ /* DEFBINOP (sm_el_ldiv, TS ## _scalar, TM ## _matrix) */ \ /* { */ \ *************** *** 194,200 **** --- 192,211 ---- /* DEFNDBINOP_FN (sm_el_and, TS ## _scalar, TYPE ## _matrix, TS ## _scalar, TYPE ## _array, mx_el_and) */ \ /* DEFNDBINOP_FN (sm_el_or, TS ## _scalar, TYPE ## _matrix, TS ## _scalar, TYPE ## _array, mx_el_or) */ + #define OCTAVE_SM_POW_OPS(T1, T2) \ + octave_value elem_xpow (octave_ ## T1 a, T2 ## NDArray b) \ + { \ + T2 ## NDArray result (b.dims ()); \ + for (int i = 0; i < b.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a, b(i)); \ + } \ + return octave_value (result); \ + } + #define OCTAVE_SM_INT_OPS(TYPE) \ + OCTAVE_SM_POW_OPS (TYPE, TYPE) \ OCTAVE_SM_INT_ARITH_OPS (TYPE, TYPE) \ OCTAVE_SM_INT_CMP_OPS (TYPE, TYPE) \ OCTAVE_SM_INT_BOOL_OPS (TYPE, TYPE) \ *************** *** 256,262 **** /* return octave_value (v1.TM ## _array_value () / d); */ \ /* } */ \ \ ! /* DEFNDBINOP_FN (ms_el_pow, TM ## _matrix, TS ## _scalar, TM ## _array, TS ## _scalar, elem_xpow) */ \ \ /* DEFBINOP (el_ldiv, TM ## _matrix, TS ## _scalar) */ \ /* { */ \ --- 267,273 ---- /* return octave_value (v1.TM ## _array_value () / d); */ \ /* } */ \ \ ! DEFNDBINOP_FN (ms_el_pow, TM ## _matrix, TS ## _scalar, TM ## _array, TS ## _scalar, elem_xpow) \ \ /* DEFBINOP (el_ldiv, TM ## _matrix, TS ## _scalar) */ \ /* { */ \ *************** *** 281,287 **** --- 292,311 ---- #define OCTAVE_MS_INT_ASSIGN_OPS(TM, TS) \ DEFNDASSIGNOP_FN (ms_assign, TM ## _matrix, TS ## _scalar, TS ## _array, assign) + #define OCTAVE_MS_POW_OPS(T1, T2) \ + octave_value elem_xpow (T1 ## NDArray a, octave_ ## T2 b) \ + { \ + T1 ## NDArray result (a.dims ()); \ + for (int i = 0; i < a.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a(i), b); \ + } \ + return octave_value (result); \ + } + #define OCTAVE_MS_INT_OPS(TYPE) \ + OCTAVE_MS_POW_OPS (TYPE, TYPE) \ OCTAVE_MS_INT_ARITH_OPS (TYPE, TYPE) \ OCTAVE_MS_INT_CMP_OPS (TYPE, TYPE) \ OCTAVE_MS_INT_BOOL_OPS (TYPE, TYPE) \ *************** *** 330,336 **** \ DEFNDBINOP_FN (mm_el_div, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, quotient) \ \ ! /* DEFNDBINOP_FN (mm_el_pow, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, elem_xpow) */ \ \ /* DEFBINOP (mm_el_ldiv, T1 ## _matrix, T2 ## _matrix) */ \ /* { */ \ --- 354,360 ---- \ DEFNDBINOP_FN (mm_el_div, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, quotient) \ \ ! DEFNDBINOP_FN (mm_el_pow, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, elem_xpow) \ \ /* DEFBINOP (mm_el_ldiv, T1 ## _matrix, T2 ## _matrix) */ \ /* { */ \ *************** *** 354,361 **** --- 378,405 ---- #define OCTAVE_MM_INT_ASSIGN_OPS(TYPE) \ DEFNDASSIGNOP_FN (mm_assign, TYPE ## _matrix, TYPE ## _matrix, TYPE ## _array, assign) + #define OCTAVE_MM_POW_OPS(T1, T2) \ + octave_value elem_xpow (T1 ## NDArray a, T2 ## NDArray b) \ + { \ + dim_vector a_dims = a.dims (); \ + dim_vector b_dims = b.dims (); \ + if (a_dims != b_dims) \ + { \ + gripe_nonconformant ("operator .^", a_dims, b_dims); \ + return octave_value (); \ + } \ + T1 ## NDArray result (a_dims); \ + for (int i = 0; i < a.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a(i), b(i)); \ + } \ + return octave_value (result); \ + } + #define OCTAVE_MM_INT_OPS(TYPE) \ OCTAVE_M_INT_UNOPS (TYPE) \ + OCTAVE_MM_POW_OPS (TYPE, TYPE) \ OCTAVE_MM_INT_ARITH_OPS (TYPE, TYPE) \ OCTAVE_MM_INT_CMP_OPS (TYPE, TYPE) \ OCTAVE_MM_INT_BOOL_OPS (TYPE, TYPE) \ *************** *** 387,393 **** INSTALL_BINOP (op_sub, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_sub); \ INSTALL_BINOP (op_mul, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_mul); \ INSTALL_BINOP (op_div, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_div); \ ! /* INSTALL_BINOP (op_pow, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_pow); */ \ INSTALL_BINOP (op_ldiv, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_ldiv); \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_el_mul); \ INSTALL_BINOP (op_el_div, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_el_div); \ --- 431,437 ---- INSTALL_BINOP (op_sub, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_sub); \ INSTALL_BINOP (op_mul, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_mul); \ INSTALL_BINOP (op_div, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_div); \ ! INSTALL_BINOP (op_pow, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_pow); \ INSTALL_BINOP (op_ldiv, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_ldiv); \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_el_mul); \ INSTALL_BINOP (op_el_div, octave_ ## T1 ## _scalar, octave_ ## T2 ## _scalar, ss_el_div); \ *************** *** 464,470 **** \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_mul); \ /* INSTALL_BINOP (op_el_div, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_div); */ \ ! /* INSTALL_BINOP (op_el_pow, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_pow); */ \ /* INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_ldiv); */ #define OCTAVE_INSTALL_MS_INT_CMP_OPS(T1, T2) \ --- 508,514 ---- \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_mul); \ /* INSTALL_BINOP (op_el_div, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_div); */ \ ! INSTALL_BINOP (op_el_pow, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_pow); \ /* INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _scalar, ms_el_ldiv); */ #define OCTAVE_INSTALL_MS_INT_CMP_OPS(T1, T2) \ *************** *** 513,519 **** /* INSTALL_BINOP (op_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_ldiv); */ \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_mul); \ INSTALL_BINOP (op_el_div, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_div); \ ! /* INSTALL_BINOP (op_el_pow, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_pow); */ \ /* INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_ldiv); */ #define OCTAVE_INSTALL_MM_INT_CMP_OPS(T1, T2) \ --- 557,563 ---- /* INSTALL_BINOP (op_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_ldiv); */ \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_mul); \ INSTALL_BINOP (op_el_div, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_div); \ ! INSTALL_BINOP (op_el_pow, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_pow); \ /* INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_ldiv); */ #define OCTAVE_INSTALL_MM_INT_CMP_OPS(T1, T2) \ *** ./src/OPERATORS/op-int-conv.cc.orig4 2004-08-26 15:41:05.000000000 +0200 --- ./src/OPERATORS/op-int-conv.cc 2004-08-26 15:40:52.000000000 +0200 *************** *** 83,97 **** DEFCONVFN2 (tfrom ## _scalar_to_int32, tfrom, scalar, int32) \ DEFCONVFN2 (tfrom ## _scalar_to_int64, tfrom, scalar, int64) \ \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint8, tfrom, scalar, int8) \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint16, tfrom, scalar, int16) \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint32, tfrom, scalar, int32) \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint64, tfrom, scalar, int64) \ ! \ ! DEFCONVFN2 (tfrom ## _matrix_to_int8, tfrom, matrix, uint8) \ ! DEFCONVFN2 (tfrom ## _matrix_to_int16, tfrom, matrix, uint16) \ ! DEFCONVFN2 (tfrom ## _matrix_to_int32, tfrom, matrix, uint32) \ ! DEFCONVFN2 (tfrom ## _matrix_to_int64, tfrom, matrix, uint64) \ \ DEFCONVFN2 (tfrom ## _matrix_to_uint8, tfrom, matrix, uint8) \ DEFCONVFN2 (tfrom ## _matrix_to_uint16, tfrom, matrix, uint16) \ --- 83,97 ---- DEFCONVFN2 (tfrom ## _scalar_to_int32, tfrom, scalar, int32) \ DEFCONVFN2 (tfrom ## _scalar_to_int64, tfrom, scalar, int64) \ \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint8, tfrom, scalar, uint8) \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint16, tfrom, scalar, uint16) \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint32, tfrom, scalar, uint32) \ ! DEFCONVFN2 (tfrom ## _scalar_to_uint64, tfrom, scalar, uint64) \ ! \ ! DEFCONVFN2 (tfrom ## _matrix_to_int8, tfrom, matrix, int8) \ ! DEFCONVFN2 (tfrom ## _matrix_to_int16, tfrom, matrix, int16) \ ! DEFCONVFN2 (tfrom ## _matrix_to_int32, tfrom, matrix, int32) \ ! DEFCONVFN2 (tfrom ## _matrix_to_int64, tfrom, matrix, int64) \ \ DEFCONVFN2 (tfrom ## _matrix_to_uint8, tfrom, matrix, uint8) \ DEFCONVFN2 (tfrom ## _matrix_to_uint16, tfrom, matrix, uint16) \