changeset 5030:160365410ad4

[project @ 2004-09-24 03:22:23 by jwe]
author jwe
date Fri, 24 Sep 2004 03:22:24 +0000
parents 1ec26bdb120c
children 5d1e2102d447
files liboctave/ChangeLog liboctave/mk-ops.awk liboctave/mx-op-defs.h liboctave/mx-ops liboctave/oct-inttypes.h liboctave/vx-ops src/ChangeLog src/OPERATORS/op-i64-i64.cc src/OPERATORS/op-int.h src/OPERATORS/op-ui64-ui64.cc src/oct-stream.cc src/ov-intx.h src/pr-output.cc
diffstat 13 files changed, 440 insertions(+), 425 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/ChangeLog	Thu Sep 23 17:01:13 2004 +0000
+++ b/liboctave/ChangeLog	Fri Sep 24 03:22:24 2004 +0000
@@ -1,3 +1,26 @@
+2004-09-23  John W. Eaton  <jwe@octave.org>
+
+	* mx-ops: Include scalar zero value in type definitions.
+	Delete zero information from ops section.
+	* mk-ops.awk: Use type-specific zero info.
+
+	* mx-op-defs.h (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP,
+	SND_BOOL_OP, NDND_BOOL_OP): Args now include zero values for both
+	LHS and RHS.
+	(MS_BOOL_OPS2, SM_BOOL_OPS2, MM_BOOL_OPS2, NDS_BOOL_OPS2,
+	SND_BOOL_OPS2, NDND_BOOL_OPS2): New macros.
+	(MS_BOOL_OPS, SM_BOOL_OPS, MM_BOOL_OPS, NDS_BOOL_OPS,
+	SND_BOOL_OPS, NDND_BOOL_OPS): Define in terms of 2-zero versions.
+
+	* idx-vector.h (idx_vector::idx_vector_rep::idx_vector_rep (const
+	intNDArray<U>&)): Use explicit as_double () conversion in call to
+	tree_to_mat_idx.
+
+	* oct-inttypes.h (octave_int<T>::operator float): New conversion.
+	(pow): Instead of "if (b_val)", use "if (b_val != zero)".
+	Likewise for the "if (b_val & one)" test.
+	(operator <<, operator >>): Type of retval is octave_int<T1>, not T1.
+
 2004-09-23  David Bateman  <dbateman@free.fr>
 
 	* oct-inttypes.h (OCTAVE_INT_DOUBLE_CMP_OP, OCTAVE_DOUBLE_INT_CMP_OP):
--- a/liboctave/mk-ops.awk	Thu Sep 23 17:01:13 2004 +0000
+++ b/liboctave/mk-ops.awk	Fri Sep 24 03:22:24 2004 +0000
@@ -26,8 +26,9 @@
     {
       ntypes++;
 
-      if (NF == 5)
+      if (NF == 6)
         {
+          scalar_zero_val[ntypes] = $6;
           fwd_decl_ok[ntypes] = $5 == "YES";
           header[ntypes] = $4 == "NONE" ? "" : $4;
           class[ntypes] = $3;
@@ -62,8 +63,6 @@
 	  if (rhs_conv == "NONE")
 	    rhs_conv = "";
 
-	  zero_val = (NF > n) ? $(++n) : "";
-
 	  k = 0
 	  while (NF > n)
 	    bool_headers[k++] = $(++n);
@@ -99,6 +98,10 @@
 	  lhs_type = type[lhs_num];
           rhs_type = type[rhs_num];
 
+	  result_scalar_zero_val = scalar_zero_val[result_num];
+          lhs_scalar_zero_val = scalar_zero_val[lhs_num];
+          rhs_scalar_zero_val = scalar_zero_val[rhs_num];
+
 	  result_header = header[result_num];
 	  lhs_header = header[lhs_num];
           rhs_header = header[rhs_num];
@@ -185,7 +188,7 @@
               if ((lhs_class == "DM" && rhs_class == "M") || (lhs_class == "M" && rhs_class == "DM"))
                 printf ("%s%s_BIN_OPS (%s, %s, %s, %s)\n",
 		        lhs_class, rhs_class, result_type,
-			lhs_type, rhs_type, zero_val) >> cc_file
+		        lhs_type, rhs_type, result_scalar_zero_val) >> cc_file
               else
                 printf ("%s%s_BIN_OPS (%s, %s, %s)\n",
 		        lhs_class, rhs_class, result_type,
@@ -197,8 +200,9 @@
 	            lhs_type, lhs_conv, rhs_type, rhs_conv) >> cc_file
 
           if (bool_ops)
-            printf ("%s%s_BOOL_OPS (%s, %s, %s)\n", lhs_class, rhs_class,
-	            lhs_type, rhs_type, zero_val) >> cc_file
+            printf ("%s%s_BOOL_OPS2 (%s, %s, %s, %s)\n", lhs_class, rhs_class,
+	            lhs_type, rhs_type, lhs_scalar_zero_val,
+	            rhs_scalar_zero_val) >> cc_file
 
 
           close (cc_file);
--- a/liboctave/mx-op-defs.h	Thu Sep 23 17:01:13 2004 +0000
+++ b/liboctave/mx-op-defs.h	Fri Sep 24 03:22:24 2004 +0000
@@ -214,7 +214,7 @@
   BOOL_OP_DECL (mx_el_and, M, S); \
   BOOL_OP_DECL (mx_el_or,  M, S); \
 
-#define MS_BOOL_OP(F, OP, M, S, ZERO) \
+#define MS_BOOL_OP(F, OP, M, S, LHS_ZERO, RHS_ZERO) \
   boolMatrix \
   F (const M& m, const S& s) \
   { \
@@ -229,15 +229,18 @@
  \
         for (int j = 0; j < nc; j++) \
           for (int i = 0; i < nr; i++) \
-	    r.elem(i, j) = (m.elem(i, j) != ZERO) OP (s != ZERO); \
+	    r.elem(i, j) = (m.elem(i, j) != LHS_ZERO) OP (s != RHS_ZERO); \
       } \
  \
     return r; \
   }
 
+#define MS_BOOL_OPS2(M, S, LHS_ZERO, RHS_ZERO) \
+  MS_BOOL_OP (mx_el_and, &&, M, S, LHS_ZERO, RHS_ZERO) \
+  MS_BOOL_OP (mx_el_or,  ||, M, S, LHS_ZERO, RHS_ZERO)
+
 #define MS_BOOL_OPS(M, S, ZERO) \
-  MS_BOOL_OP (mx_el_and, &&, M, S, ZERO) \
-  MS_BOOL_OP (mx_el_or,  ||, M, S, ZERO)
+  MS_BOOL_OPS2(M, S, ZERO, ZERO)
 
 #define MS_OP_DECLS(R, M, S) \
   MS_BIN_OP_DECLS (R, M, S) \
@@ -314,7 +317,7 @@
   BOOL_OP_DECL (mx_el_and, S, M); \
   BOOL_OP_DECL (mx_el_or,  S, M); \
 
-#define SM_BOOL_OP(F, OP, S, M, ZERO) \
+#define SM_BOOL_OP(F, OP, S, M, LHS_ZERO, RHS_ZERO) \
   boolMatrix \
   F (const S& s, const M& m) \
   { \
@@ -329,15 +332,18 @@
  \
         for (int j = 0; j < nc; j++) \
           for (int i = 0; i < nr; i++) \
-	    r.elem(i, j) = (s != ZERO) OP (m.elem(i, j) != ZERO); \
+	    r.elem(i, j) = (s != LHS_ZERO) OP (m.elem(i, j) != RHS_ZERO); \
       } \
  \
     return r; \
   }
 
+#define SM_BOOL_OPS2(S, M, LHS_ZERO, RHS_ZERO) \
+  SM_BOOL_OP (mx_el_and, &&, S, M, LHS_ZERO, RHS_ZERO) \
+  SM_BOOL_OP (mx_el_or,  ||, S, M, LHS_ZERO, RHS_ZERO)
+
 #define SM_BOOL_OPS(S, M, ZERO) \
-  SM_BOOL_OP (mx_el_and, &&, S, M, ZERO) \
-  SM_BOOL_OP (mx_el_or,  ||, S, M, ZERO)
+  SM_BOOL_OPS2(S, M, ZERO, ZERO)
 
 #define SM_OP_DECLS(R, S, M) \
   SM_BIN_OP_DECLS (R, S, M) \
@@ -429,7 +435,7 @@
   BOOL_OP_DECL (mx_el_and, M1, M2); \
   BOOL_OP_DECL (mx_el_or,  M1, M2);
 
-#define MM_BOOL_OP(F, OP, M1, M2, ZERO) \
+#define MM_BOOL_OP(F, OP, M1, M2, LHS_ZERO, RHS_ZERO) \
   boolMatrix \
   F (const M1& m1, const M2& m2) \
   { \
@@ -449,8 +455,8 @@
  \
 	    for (int j = 0; j < m1_nc; j++) \
 	      for (int i = 0; i < m1_nr; i++) \
-		r.elem(i, j) = (m1.elem(i, j) != ZERO) \
-                                OP (m2.elem(i, j) != ZERO); \
+		r.elem(i, j) = (m1.elem(i, j) != LHS_ZERO) \
+                                OP (m2.elem(i, j) != RHS_ZERO); \
 	  } \
       } \
     else \
@@ -462,9 +468,12 @@
     return r; \
   }
 
+#define MM_BOOL_OPS2(M1, M2, LHS_ZERO, RHS_ZERO) \
+  MM_BOOL_OP (mx_el_and, &&, M1, M2, LHS_ZERO, RHS_ZERO) \
+  MM_BOOL_OP (mx_el_or,  ||, M1, M2, LHS_ZERO, RHS_ZERO)
+
 #define MM_BOOL_OPS(M1, M2, ZERO) \
-  MM_BOOL_OP (mx_el_and, &&, M1, M2, ZERO) \
-  MM_BOOL_OP (mx_el_or,  ||, M1, M2, ZERO)
+  MM_BOOL_OPS2(M1, M2, ZERO, ZERO)
 
 #define MM_OP_DECLS(R, M1, M2) \
   MM_BIN_OP_DECLS (R, M1, M2) \
@@ -535,7 +544,7 @@
   NDBOOL_OP_DECL (mx_el_and, ND, S); \
   NDBOOL_OP_DECL (mx_el_or,  ND, S);
 
-#define NDS_BOOL_OP(F, OP, ND, S, ZERO) \
+#define NDS_BOOL_OP(F, OP, ND, S, LHS_ZERO, RHS_ZERO) \
   boolNDArray \
   F (const ND& m, const S& s) \
   { \
@@ -548,15 +557,18 @@
         r.resize (m.dims ()); \
  \
         for (int i = 0; i < len; i++) \
-	  r.elem(i) = (m.elem(i) != ZERO) OP (s != ZERO); \
+	  r.elem(i) = (m.elem(i) != LHS_ZERO) OP (s != RHS_ZERO); \
       } \
  \
     return r; \
   }
 
+#define NDS_BOOL_OPS2(ND, S, LHS_ZERO, RHS_ZERO) \
+  NDS_BOOL_OP (mx_el_and, &&, ND, S, LHS_ZERO, RHS_ZERO) \
+  NDS_BOOL_OP (mx_el_or,  ||, ND, S, LHS_ZERO, RHS_ZERO)
+
 #define NDS_BOOL_OPS(ND, S, ZERO) \
-  NDS_BOOL_OP (mx_el_and, &&, ND, S, ZERO) \
-  NDS_BOOL_OP (mx_el_or,  ||, ND, S, ZERO)
+  NDS_BOOL_OPS2(ND, S, ZERO, ZERO)
 
 #define NDS_OP_DECLS(R, ND, S) \
   NDS_BIN_OP_DECLS (R, ND, S) \
@@ -627,7 +639,7 @@
   NDBOOL_OP_DECL (mx_el_and, S, ND); \
   NDBOOL_OP_DECL (mx_el_or,  S, ND);
 
-#define SND_BOOL_OP(F, OP, S, ND, ZERO) \
+#define SND_BOOL_OP(F, OP, S, ND, LHS_ZERO, RHS_ZERO) \
   boolNDArray \
   F (const S& s, const ND& m) \
   { \
@@ -640,15 +652,18 @@
         r.resize (m.dims ()); \
  \
         for (int i = 0; i < len; i++) \
-	    r.elem(i) = (s != ZERO) OP (m.elem(i) != ZERO); \
+	    r.elem(i) = (s != LHS_ZERO) OP (m.elem(i) != RHS_ZERO); \
       } \
  \
     return r; \
   }
 
+#define SND_BOOL_OPS2(S, ND, LHS_ZERO, RHS_ZERO) \
+  SND_BOOL_OP (mx_el_and, &&, S, ND, LHS_ZERO, RHS_ZERO) \
+  SND_BOOL_OP (mx_el_or,  ||, S, ND, LHS_ZERO, RHS_ZERO)
+
 #define SND_BOOL_OPS(S, ND, ZERO) \
-  SND_BOOL_OP (mx_el_and, &&, S, ND, ZERO) \
-  SND_BOOL_OP (mx_el_or,  ||, S, ND, ZERO)
+  SND_BOOL_OPS2(S, ND, ZERO, ZERO)
 
 #define SND_OP_DECLS(R, S, ND) \
   SND_BIN_OP_DECLS (R, S, ND) \
@@ -735,7 +750,7 @@
   NDBOOL_OP_DECL (mx_el_and, ND1, ND2); \
   NDBOOL_OP_DECL (mx_el_or,  ND1, ND2);
 
-#define NDND_BOOL_OP(F, OP, ND1, ND2, ZERO) \
+#define NDND_BOOL_OP(F, OP, ND1, ND2, LHS_ZERO, RHS_ZERO) \
   boolNDArray \
   F (const ND1& m1, const ND2& m2) \
   { \
@@ -751,7 +766,7 @@
 	    r.resize (m1_dims); \
  \
 	    for (int i = 0; i < m1.length (); i++) \
-	      r.elem(i) = (m1.elem(i) != ZERO) OP (m2.elem(i) != ZERO); \
+	      r.elem(i) = (m1.elem(i) != LHS_ZERO) OP (m2.elem(i) != RHS_ZERO); \
 	  } \
       } \
     else \
@@ -760,9 +775,12 @@
     return r; \
   }
 
+#define NDND_BOOL_OPS2(ND1, ND2, LHS_ZERO, RHS_ZERO) \
+  NDND_BOOL_OP (mx_el_and, &&, ND1, ND2, LHS_ZERO, RHS_ZERO) \
+  NDND_BOOL_OP (mx_el_or,  ||, ND1, ND2, LHS_ZERO, RHS_ZERO)
+
 #define NDND_BOOL_OPS(ND1, ND2, ZERO) \
-  NDND_BOOL_OP (mx_el_and, &&, ND1, ND2, ZERO) \
-  NDND_BOOL_OP (mx_el_or,  ||, ND1, ND2, ZERO)
+  NDND_BOOL_OPS2(ND1, ND2, ZERO, ZERO)
 
 #define NDND_OP_DECLS(R, ND1, ND2) \
   NDND_BIN_OP_DECLS (R, ND1, ND2) \
@@ -864,7 +882,7 @@
   return r; \
 }
 
-#define MDM_MULTIPLY_OP(R, M, DM, ZERO) \
+#define MDM_MULTIPLY_OP(R, M, DM, R_ZERO) \
 R \
 operator * (const M& m, const DM& dm) \
 { \
@@ -880,7 +898,7 @@
     gripe_nonconformant ("operator *", m_nr, m_nc, dm_nr, dm_nc); \
   else \
     { \
-      r.resize (m_nr, dm_nc, ZERO); \
+      r.resize (m_nr, dm_nc, R_ZERO); \
  \
       if (m_nr > 0 && m_nc > 0 && dm_nc > 0) \
 	{ \
@@ -893,7 +911,7 @@
 		  for (int i = 0; i < m_nr; i++) \
 		    r.elem(i, j) = m.elem(i, j); \
 		} \
-	      else if (dm.elem(j, j) != ZERO) \
+	      else \
 		{ \
 		  for (int i = 0; i < m_nr; i++) \
 		    r.elem(i, j) = dm.elem(j, j) * m.elem(i, j); \
@@ -905,10 +923,10 @@
   return r; \
 }
 
-#define MDM_BIN_OPS(R, M, DM, ZERO) \
+#define MDM_BIN_OPS(R, M, DM, R_ZERO) \
   MDM_BIN_OP (R, operator +, M, DM, +=) \
   MDM_BIN_OP (R, operator -, M, DM, -=) \
-  MDM_MULTIPLY_OP (R, M, DM, ZERO)
+  MDM_MULTIPLY_OP (R, M, DM, R_ZERO)
 
 #define MDM_OP_DECLS(R, M, DM) \
   MDM_BIN_OP_DECLS(R, M, DM)
@@ -952,7 +970,7 @@
   return r; \
 }
 
-#define DMM_MULTIPLY_OP(R, DM, M, ZERO) \
+#define DMM_MULTIPLY_OP(R, DM, M, R_ZERO) \
 R \
 operator * (const DM& dm, const M& m) \
 { \
@@ -968,7 +986,7 @@
     gripe_nonconformant ("operator *", dm_nr, dm_nc, m_nr, m_nc); \
   else \
     { \
-      r.resize (dm_nr, m_nc, ZERO); \
+      r.resize (dm_nr, m_nc, R_ZERO); \
  \
       if (dm_nr > 0 && dm_nc > 0 && m_nc > 0) \
 	{ \
@@ -981,7 +999,7 @@
 		  for (int j = 0; j < m_nc; j++) \
 		    r.elem(i, j) = m.elem(i, j); \
 		} \
-	      else if (dm.elem(i, i) != ZERO) \
+	      else \
 		{ \
 		  for (int j = 0; j < m_nc; j++) \
 		    r.elem(i, j) = dm.elem(i, i) * m.elem(i, j); \
@@ -993,10 +1011,10 @@
   return r; \
 }
 
-#define DMM_BIN_OPS(R, DM, M, ZERO) \
+#define DMM_BIN_OPS(R, DM, M, R_ZERO) \
   DMM_BIN_OP (R, operator +, DM, M, +=, ) \
   DMM_BIN_OP (R, operator -, DM, M, +=, -) \
-  DMM_MULTIPLY_OP (R, DM, M, ZERO)
+  DMM_MULTIPLY_OP (R, DM, M, R_ZERO)
 
 #define DMM_OP_DECLS(R, DM, M) \
   DMM_BIN_OP_DECLS(R, DM, M)
--- a/liboctave/mx-ops	Thu Sep 23 17:01:13 2004 +0000
+++ b/liboctave/mx-ops	Fri Sep 24 03:22:24 2004 +0000
@@ -1,6 +1,6 @@
 # types
 #
-# key typename object-type header fwd-decl-ok
+# key typename object-type header fwd-decl-ok scalar-zero
 #
 # object-type is one of
 #
@@ -9,36 +9,36 @@
 #   DM: diagonal matrix
 #   ND: N-d array
 #
-x NONE NONE NONE NO
-b bool S NONE NO
-bm boolMatrix ND boolMatrix.h YES
-bnda boolNDArray ND boolNDArray.h YES
-cdm ComplexDiagMatrix DM CDiagMatrix.h YES
-cm ComplexMatrix M CMatrix.h YES
-cnda ComplexNDArray ND CNDArray.h YES
-cs Complex S oct-cmplx.h NO
-dm DiagMatrix DM dDiagMatrix.h YES
-m Matrix M dMatrix.h YES
-nda NDArray ND dNDArray.h YES
-s double S NONE NO
-i8 octave_int8 S oct-inttypes.h YES
-ui8 octave_uint8 S oct-inttypes.h YES
-i16 octave_int16 S oct-inttypes.h YES
-ui16 octave_uint16 S oct-inttypes.h YES
-i32 octave_int32 S oct-inttypes.h YES
-ui32 octave_uint32 S oct-inttypes.h YES
-i64 octave_int64 S oct-inttypes.h YES
-ui64 octave_uint64 S oct-inttypes.h YES
-i8nda int8NDArray ND int8NDArray.h YES
-ui8nda uint8NDArray ND uint8NDArray.h YES
-i16nda int16NDArray ND int16NDArray.h YES
-ui16nda uint16NDArray ND uint16NDArray.h YES
-i32nda int32NDArray ND int32NDArray.h YES
-ui32nda uint32NDArray ND uint32NDArray.h YES
-i64nda int64NDArray ND int64NDArray.h YES
-ui64nda uint64NDArray ND uint64NDArray.h YES
+x NONE NONE NONE NO 0
+b bool S NONE NO false
+bm boolMatrix ND boolMatrix.h YES false
+bnda boolNDArray ND boolNDArray.h YES false
+cdm ComplexDiagMatrix DM CDiagMatrix.h YES 0.0
+cm ComplexMatrix M CMatrix.h YES 0.0
+cnda ComplexNDArray ND CNDArray.h YES 0.0
+cs Complex S oct-cmplx.h NO 0.0
+dm DiagMatrix DM dDiagMatrix.h YES 0.0
+m Matrix M dMatrix.h YES 0.0
+nda NDArray ND dNDArray.h YES 0.0
+s double S NONE NO 0.0
+i8 octave_int8 S oct-inttypes.h YES octave_int8(0)
+ui8 octave_uint8 S oct-inttypes.h YES octave_uint8(0)
+i16 octave_int16 S oct-inttypes.h YES octave_int16(0)
+ui16 octave_uint16 S oct-inttypes.h YES octave_uint16(0)
+i32 octave_int32 S oct-inttypes.h YES octave_int32(0)
+ui32 octave_uint32 S oct-inttypes.h YES octave_uint32(0)
+i64 octave_int64 S oct-inttypes.h YES octave_int64(0)
+ui64 octave_uint64 S oct-inttypes.h YES octave_uint64(0)
+i8nda int8NDArray ND int8NDArray.h YES octave_int8(0)
+ui8nda uint8NDArray ND uint8NDArray.h YES octave_uint8(0)
+i16nda int16NDArray ND int16NDArray.h YES octave_int16(0)
+ui16nda uint16NDArray ND uint16NDArray.h YES octave_uint16(0)
+i32nda int32NDArray ND int32NDArray.h YES octave_int32(0)
+ui32nda uint32NDArray ND uint32NDArray.h YES octave_uint32(0)
+i64nda int64NDArray ND int64NDArray.h YES octave_int64(0)
+ui64nda uint64NDArray ND uint64NDArray.h YES octave_uint64(0)
 # ops
-# result_t lhs_t rhs_t op-type lhs_conv rhs_conv zero_val headers ...
+# result_t lhs_t rhs_t op-type lhs_conv rhs_conv headers ...
 #
 # op-type is one of
 #
@@ -50,272 +50,272 @@
 cdm dm cdm B
 cm cs cdm B
 cm cs dm B
-cm cs m BCL real NONE 0.0 boolMatrix.h
-cnda cs nda BCL real NONE 0.0 boolMatrix.h boolNDArray.h
+cm cs m BCL real NONE boolMatrix.h
+cnda cs nda BCL real NONE boolMatrix.h boolNDArray.h
 cm cdm cs B
-cm cdm cm B 0.0
-cm cdm m B 0.0
+cm cdm cm B
+cm cdm m B
 cm cdm s B
-cm cm cdm B 0.0
-cm cm dm B 0.0
-cm cm m BCL real NONE 0.0 boolMatrix.h
-cnda cnda nda BCL real NONE 0.0 boolMatrix.h boolNDArray.h
-cm cm s BCL real NONE 0.0 boolMatrix.h
-cnda cnda s BCL real NONE 0.0 boolMatrix.h boolNDArray.h
+cm cm cdm B
+cm cm dm B
+cm cm m BCL real NONE boolMatrix.h
+cnda cnda nda BCL real NONE boolMatrix.h boolNDArray.h
+cm cm s BCL real NONE boolMatrix.h
+cnda cnda s BCL real NONE boolMatrix.h boolNDArray.h
 cm dm cs B
-cm dm cm B 0.0
-cm m cs BCL NONE real 0.0 boolMatrix.h
-cnda nda cs BCL NONE real 0.0 boolMatrix.h boolNDArray.h
-cm m cdm B 0.0
-cm m cm BCL NONE real 0.0 boolMatrix.h
-cnda nda cnda BCL NONE real 0.0 boolMatrix.h boolNDArray.h
+cm dm cm B
+cm m cs BCL NONE real boolMatrix.h
+cnda nda cs BCL NONE real boolMatrix.h boolNDArray.h
+cm m cdm B
+cm m cm BCL NONE real boolMatrix.h
+cnda nda cnda BCL NONE real boolMatrix.h boolNDArray.h
 cm s cdm B
-cm s cm BCL NONE real 0.0 boolMatrix.h
-cnda s cnda BCL NONE real 0.0 boolMatrix.h boolNDArray.h
-m dm m B 0.0
+cm s cm BCL NONE real boolMatrix.h
+cnda s cnda BCL NONE real boolMatrix.h boolNDArray.h
+m dm m B
 m dm s B
-m m dm B 0.0
+m m dm B
 m s dm B
 #
-i8nda s i8nda BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-i8nda i8nda s BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui8nda s ui8nda BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui8nda ui8nda s BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-i16nda s i16nda BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-i16nda i16nda s BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui16nda s ui16nda BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui16nda ui16nda s BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-i32nda s i32nda BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-i32nda i32nda s BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui32nda s ui32nda BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui32nda ui32nda s BCL NONE NONE 0 boolMatrix.h boolNDArray.h
-i64nda s i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-i64nda i64nda s CL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui64nda s ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-ui64nda ui64nda s CL NONE NONE 0 boolMatrix.h boolNDArray.h
+i8nda s i8nda BCL NONE NONE boolMatrix.h boolNDArray.h
+i8nda i8nda s BCL NONE NONE boolMatrix.h boolNDArray.h
+ui8nda s ui8nda BCL NONE NONE boolMatrix.h boolNDArray.h
+ui8nda ui8nda s BCL NONE NONE boolMatrix.h boolNDArray.h
+i16nda s i16nda BCL NONE NONE boolMatrix.h boolNDArray.h
+i16nda i16nda s BCL NONE NONE boolMatrix.h boolNDArray.h
+ui16nda s ui16nda BCL NONE NONE boolMatrix.h boolNDArray.h
+ui16nda ui16nda s BCL NONE NONE boolMatrix.h boolNDArray.h
+i32nda s i32nda BCL NONE NONE boolMatrix.h boolNDArray.h
+i32nda i32nda s BCL NONE NONE boolMatrix.h boolNDArray.h
+ui32nda s ui32nda BCL NONE NONE boolMatrix.h boolNDArray.h
+ui32nda ui32nda s BCL NONE NONE boolMatrix.h boolNDArray.h
+i64nda s i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+i64nda i64nda s CL NONE NONE boolMatrix.h boolNDArray.h
+ui64nda s ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
+ui64nda ui64nda s CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64 nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i8 nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8 nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i16 nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16 nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i32 nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32 nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
+x i64 nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64 nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda nda CL NONE NONE boolMatrix.h boolNDArray.h
+x nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i8nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i8nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i16nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i16nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i32nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i32nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i64nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i64nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui8nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui8nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui16nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui16nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui32nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda ui64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui32nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui64nda i8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda ui8 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda i16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda ui16 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda i32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda ui32 CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda i64 CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui64nda i8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda i16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda i32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda i64 CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i8 ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8 i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8 ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8 i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8 ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8 i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8 ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i8 ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8 i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8 ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8 i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8 ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8 i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8 ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i16 i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16 ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16 ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16 i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16 ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16 i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16 ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i16 i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16 ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16 ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16 i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16 ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16 i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16 ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i32 i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32 ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32 i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32 ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32 ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32 i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32 ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i32 i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32 ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32 i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32 ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32 ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32 i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32 ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i64 i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64 ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64 i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64 ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64 i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64 ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64 ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i64 i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64 ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64 i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64 ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64 i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64 ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64 ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui8 i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8 i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8 ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8 i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8 ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8 i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8 ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui8 i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8 i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8 ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8 i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8 ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8 i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8 ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui16 i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16 ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16 i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16 i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16 ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16 i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16 ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui16 i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16 ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16 i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16 i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16 ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16 i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16 ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui32 i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32 ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32 i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32 ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32 i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32 i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32 ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui32 i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32 ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32 i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32 ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32 i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32 i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32 ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui64 i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64 ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64 i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64 ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64 i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64 ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64 i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui64 i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64 ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64 i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64 ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64 i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64 ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64 i64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i8nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i8nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i8nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i8nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i16nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i16nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i16nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i16nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i32nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i32nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i32nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i32nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x i64nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x i64nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x i64nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x i64nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui8nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui8nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui8nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui8nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui16nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui16nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui16nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui16nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui32nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui32nda ui64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui32nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui32nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h
 #
-x ui64nda i8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda ui8nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda i16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda ui16nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda i32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda ui32nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
-x ui64nda i64nda CL NONE NONE 0 boolMatrix.h boolNDArray.h
+x ui64nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h
+x ui64nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h
--- a/liboctave/oct-inttypes.h	Thu Sep 23 17:01:13 2004 +0000
+++ b/liboctave/oct-inttypes.h	Fri Sep 24 03:22:24 2004 +0000
@@ -258,6 +258,8 @@
 
   operator double (void) const { return static_cast<double> (value ()); }
 
+  operator float (void) const { return static_cast<float> (value ()); }
+
   octave_int<T>& operator += (const octave_int<T>& x)
   {
     double t = static_cast<double> (value ());
@@ -339,9 +341,9 @@
 
       b_val -= 1;
 
-      while (b_val)
+      while (b_val != zero)
 	{
-	  if (b_val & one)
+	  if ((b_val & one) != zero)
 	    retval = retval * a_val;
 
 	  b_val = b_val >> 1;
@@ -468,7 +470,7 @@
   operator OP (const octave_int<T>& x, const double& y) \
   { \
     double tx = static_cast<double> (x.value ()); \
-    return tx OP y.value (); \
+    return tx OP y; \
   }
 
 OCTAVE_INT_DOUBLE_CMP_OP (<)
@@ -484,7 +486,7 @@
   operator OP (const double& x, const octave_int<T>& y) \
   { \
     double ty = static_cast<double> (y.value ()); \
-    return y.value () OP ty; \
+    return x OP ty; \
   }
 
 OCTAVE_DOUBLE_INT_CMP_OP (<)
@@ -511,7 +513,7 @@
 octave_int<T1>
 operator << (const octave_int<T1>& x, const T2& y)
 {
-  T1 retval = x;
+  octave_int<T1> retval = x;
   return retval <<= y;
 }
 
@@ -519,7 +521,7 @@
 octave_int<T1>
 operator >> (const octave_int<T1>& x, const T2& y)
 {
-  T1 retval = x;
+  octave_int<T1> retval = x;
   return retval >>= y;
 }
 
--- a/liboctave/vx-ops	Thu Sep 23 17:01:13 2004 +0000
+++ b/liboctave/vx-ops	Fri Sep 24 03:22:24 2004 +0000
@@ -1,10 +1,10 @@
 # types
-ccv ComplexColumnVector V CColVector.h YES
-crv ComplexRowVector V CRowVector.h YES
-cs Complex S oct-cmplx.h NO
-cv ColumnVector V dColVector.h YES
-rv RowVector V dRowVector.h YES
-s double S NONE NO
+ccv ComplexColumnVector V CColVector.h YES 0.0
+crv ComplexRowVector V CRowVector.h YES 0.0
+cs Complex S oct-cmplx.h NO 0.0
+cv ColumnVector V dColVector.h YES 0.0
+rv RowVector V dRowVector.h YES 0.0
+s double S NONE NO 0.0
 # ops
 ccv ccv cv B
 ccv ccv s B
--- a/src/ChangeLog	Thu Sep 23 17:01:13 2004 +0000
+++ b/src/ChangeLog	Fri Sep 24 03:22:24 2004 +0000
@@ -1,7 +1,24 @@
 2004-09-23  John W. Eaton  <jwe@octave.org>
 
+	* (OCTAVE_SS_INT_OPS2, OCTAVE_SM_INT_OPS2, OCTAVE_MM_INT_OPS2,
+	OCTAVE_INSTALL_SS_INT_OPS2, OCTAVE_INSTALL_SM_INT_OPS2,
+	OCTAVE_INSTALL_MS_INT_OPS2, OCTAVE_INSTALL_MM_INT_OPS2):
+	Delete unused macros.
+
+	* OPERATORS/op-int.h (OCTAVE_SS_INT_BOOL_OPS): New args Z1 and Z2.
+	(OCTAVE_SS_INT_OPS): Pass appropriately typed zero values to
+	OCTAVE_SS_INT_BOOL_OPS.
+	* OPERATORS/op-i64-i64.cc, OPERATORS/op-ui64-ui64.cc: Likewise.
+
+	* pr-output.cc (pr_plus_format): Now template.
+	Specialize for Complex.
+	(octave_print_internal): Lookup print_conv_type using
+	octave_int<T>, not just T.
+
 	* ov-struct.cc (octave_struct::subsref): Pass skip to next_subsref.
 
+	* oct-stream.cc	(do_read): Hitting EOF should not be an error.
+
 2004-09-22  John W. Eaton  <jwe@octave.org>
 
 	* pt-plot.cc (send_to_plot_stream): Skip automatic replot if in
--- a/src/OPERATORS/op-i64-i64.cc	Thu Sep 23 17:01:13 2004 +0000
+++ b/src/OPERATORS/op-i64-i64.cc	Fri Sep 24 03:22:24 2004 +0000
@@ -85,7 +85,7 @@
 
 OCTAVE_S_INT_UNOPS (int64)
 OCTAVE_SS_INT_CMP_OPS (ss, int64_, int64_)
-OCTAVE_SS_INT_BOOL_OPS (ss, int64_, int64_)
+OCTAVE_SS_INT_BOOL_OPS (ss, int64_, int64_, octave_int64 (0), octave_int64 (0))
 
 OCTAVE_SM_INT_CMP_OPS (sm, int64_, int64_)
 OCTAVE_SM_INT_BOOL_OPS (sm, int64_, int64_)
--- a/src/OPERATORS/op-int.h	Thu Sep 23 17:01:13 2004 +0000
+++ b/src/OPERATORS/op-int.h	Fri Sep 24 03:22:24 2004 +0000
@@ -99,19 +99,19 @@
     return octave_value (v2.T2 ## scalar_value () / v1.T1 ## scalar_value ()); \
   } \
 
-#define OCTAVE_SS_INT_BOOL_OPS(PFX, T1, T2) \
+#define OCTAVE_SS_INT_BOOL_OPS(PFX, T1, T2, Z1, Z2) \
   DEFBINOP (PFX ## _el_and, T2, T2) \
   { \
     CAST_BINOP_ARGS (const octave_ ## T1 ## scalar&, const octave_ ## T2 ## scalar&); \
  \
-    return v1.T1 ## scalar_value () != 0 && v2.T2 ## scalar_value () != 0; \
+    return v1.T1 ## scalar_value () != Z1 && v2.T2 ## scalar_value () != Z2; \
   } \
  \
   DEFBINOP (PFX ## _el_or, T1, T2) \
   { \
     CAST_BINOP_ARGS (const octave_ ## T1 ## scalar&, const octave_ ## T2 ## scalar&); \
  \
-    return v1.T1 ## scalar_value () != 0 || v2.T2 ## scalar_value () != 0; \
+    return v1.T1 ## scalar_value () != Z1 || v2.T2 ## scalar_value () != Z2; \
   }
 
 #define OCTAVE_SS_INT_CMP_OPS(PFX, T1, T2) \
@@ -150,14 +150,9 @@
   OCTAVE_SS_INT_CMP_OPS (ss, TYPE ## _, TYPE ## _) \
   OCTAVE_SS_INT_CMP_OPS (sx, TYPE ## _, ) \
   OCTAVE_SS_INT_CMP_OPS (xs, , TYPE ## _) \
-  OCTAVE_SS_INT_BOOL_OPS (ss, TYPE ## _, TYPE ## _) \
-  OCTAVE_SS_INT_BOOL_OPS (sx, TYPE ## _, ) \
-  OCTAVE_SS_INT_BOOL_OPS (xs, , TYPE ## _)
-
-#define OCTAVE_SS_INT_OPS2(T1, T2) \
-  OCTAVE_SS_INT_ARITH_OPS (ss, T1, T2) \
-  OCTAVE_SS_INT_CMP_OPS (ss, T1, T2) \
-  OCTAVE_SS_INT_BOOL_OPS (ss, T1, T2)
+  OCTAVE_SS_INT_BOOL_OPS (ss, TYPE ## _, TYPE ## _, octave_ ## TYPE (0), octave_ ## TYPE (0)) \
+  OCTAVE_SS_INT_BOOL_OPS (sx, TYPE ## _, , octave_ ## TYPE (0), 0) \
+  OCTAVE_SS_INT_BOOL_OPS (xs, , TYPE ## _, 0, octave_ ## TYPE (0))
 
 #define OCTAVE_SM_INT_ARITH_OPS(PFX, TS, TM) \
   /* scalar by matrix ops. */ \
@@ -248,11 +243,6 @@
   OCTAVE_SM_CONV (TYPE ## _, TYPE ## _) \
   OCTAVE_SM_CONV (TYPE ## _, complex_)
 
-#define OCTAVE_SM_INT_OPS2(TS, TM) \
-  OCTAVE_SM_INT_ARITH_OPS (sm, TS, TM) \
-  OCTAVE_SM_INT_CMP_OPS (sm, TS, TM) \
-  OCTAVE_SM_INT_BOOL_OPS (sm, TS, TM)
-
 #define OCTAVE_MS_INT_ARITH_OPS(PFX, TM, TS) \
   /* matrix by scalar ops. */ \
  \
@@ -451,11 +441,6 @@
   OCTAVE_MM_INT_ASSIGN_OPS (mmx, TYPE ## _, , ) \
   OCTAVE_MM_CONV(TYPE ## _, complex_)
 
-#define OCTAVE_MM_INT_OPS2(T1, T2) \
-  OCTAVE_MM_INT_ARITH_OPS (mm, T1, T2) \
-  OCTAVE_MM_INT_CMP_OPS (mm, T1, T2) \
-  OCTAVE_MM_INT_BOOL_OPS (mm, T1, T2)
-
 #define OCTAVE_RE_INT_ASSIGN_OPS(TYPE) \
   DEFNDASSIGNOP_FN (TYPE ## ms_assign, matrix, TYPE ## _scalar, array, assign) \
   DEFNDASSIGNOP_FN (TYPE ## mm_assign, matrix, TYPE ## _matrix, array, assign)
@@ -522,11 +507,6 @@
   INSTALL_ASSIGNCONV (octave_ ## TYPE ## _scalar, octave_scalar, octave_ ## TYPE ## _matrix) \
   INSTALL_ASSIGNCONV (octave_ ## TYPE ## _scalar, octave_complex_scalar, octave_complex_matrix)
 
-#define OCTAVE_INSTALL_SS_INT_OPS2(T1, T2) \
-  OCTAVE_INSTALL_SS_INT_ARITH_OPS (ss, T1, T2) \
-  OCTAVE_INSTALL_SS_INT_CMP_OPS (ss, T1, T2) \
-  OCTAVE_INSTALL_SS_INT_BOOL_OPS (ss, T1, T2)
-
 #define OCTAVE_INSTALL_SM_INT_ARITH_OPS(PFX, T1, T2) \
   INSTALL_BINOP (op_add, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _add); \
   INSTALL_BINOP (op_sub, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _sub); \
@@ -566,11 +546,6 @@
   INSTALL_ASSIGNCONV (octave_ ## TYPE ## _scalar, octave_matrix, octave_ ## TYPE ## _matrix) \
   INSTALL_ASSIGNCONV (octave_ ## TYPE ## _scalar, octave_complex_matrix, octave_complex_matrix)
 
-#define OCTAVE_INSTALL_SM_INT_OPS2(T1, T2) \
-  OCTAVE_INSTALL_SM_INT_ARITH_OPS (sm, T1, T2) \
-  OCTAVE_INSTALL_SM_INT_CMP_OPS (sm, T1, T2) \
-  OCTAVE_INSTALL_SM_INT_BOOL_OPS (sm, T1, T2)
-
 #define OCTAVE_INSTALL_MS_INT_ARITH_OPS(PFX, T1, T2) \
   INSTALL_BINOP (op_add, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _add); \
   INSTALL_BINOP (op_sub, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _sub); \
@@ -612,11 +587,6 @@
   OCTAVE_INSTALL_MS_INT_ASSIGN_OPS (mx, TYPE ## _, ) \
   INSTALL_ASSIGNCONV (octave_ ## TYPE ## _matrix, octave_complex_scalar, octave_complex_matrix)
 
-#define OCTAVE_INSTALL_MS_INT_OPS2(T1, T2) \
-  OCTAVE_INSTALL_MS_INT_ARITH_OPS (ms, T1, T2) \
-  OCTAVE_INSTALL_MS_INT_CMP_OPS (ms, T1, T2) \
-  OCTAVE_INSTALL_MS_INT_BOOL_OPS (ms, T1, T2)
-
 #define OCTAVE_INSTALL_M_INT_UNOPS(TYPE) \
   INSTALL_UNOP (op_not, octave_ ## TYPE ## _matrix, m_not); \
   INSTALL_UNOP (op_uplus, octave_ ## TYPE ## _matrix, m_uplus); \
@@ -666,11 +636,6 @@
   INSTALL_WIDENOP (octave_ ## TYPE ## _matrix, octave_complex_matrix, TYPE ## _m_complex_m_conv) \
   INSTALL_ASSIGNCONV (octave_ ## TYPE ## _matrix, octave_complex_matrix, octave_complex_matrix)
 
-#define OCTAVE_INSTALL_MM_INT_OPS2(T1, T2) \
-  OCTAVE_INSTALL_MM_INT_ARITH_OPS (T1, T2) \
-  OCTAVE_INSTALL_MM_INT_CMP_OPS (T1, T2) \
-  OCTAVE_INSTALL_MM_INT_BOOL_OPS (T1, T2)
-
 #define OCTAVE_INSTALL_RE_INT_ASSIGN_OPS(TYPE) \
   INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_ ## TYPE ## _scalar, TYPE ## ms_assign) \
   INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_ ## TYPE ## _matrix, TYPE ## mm_assign) \
--- a/src/OPERATORS/op-ui64-ui64.cc	Thu Sep 23 17:01:13 2004 +0000
+++ b/src/OPERATORS/op-ui64-ui64.cc	Fri Sep 24 03:22:24 2004 +0000
@@ -85,7 +85,7 @@
 
 OCTAVE_S_INT_UNOPS (uint64)
 OCTAVE_SS_INT_CMP_OPS (ss, uint64_, uint64_)
-OCTAVE_SS_INT_BOOL_OPS (ss, uint64_, uint64_)
+OCTAVE_SS_INT_BOOL_OPS (ss, uint64_, uint64_, octave_uint64 (0), octave_uint64 (0))
 
 OCTAVE_SM_INT_CMP_OPS (sm, uint64_, uint64_)
 OCTAVE_SM_INT_BOOL_OPS (sm, uint64_, uint64_)
--- a/src/oct-stream.cc	Thu Sep 23 17:01:13 2004 +0000
+++ b/src/oct-stream.cc	Fri Sep 24 03:22:24 2004 +0000
@@ -2780,8 +2780,6 @@
 
   RET_T nda;
 
-  bool ok = true;
-
   count = 0;
 
   typename octave_array_type_traits<RET_T>::element_type elt_zero
@@ -2792,7 +2790,7 @@
   int max_size = 0;
 
   int final_nr = 0;
-  int final_nc = 0;
+  int final_nc = 1;
 
   if (nr > 0)
     {
@@ -2873,78 +2871,64 @@
 	      typename octave_array_type_traits<RET_T>::element_type tmp
 		= static_cast <typename octave_array_type_traits<RET_T>::element_type> (u.val);
 
-	      if (ok)
+	      if (is)
 		{
-		  if (is)
+		  if (count == max_size)
 		    {
-		      if (count == max_size)
-			{
-			  max_size *= 2;
-
-			  if (nr > 0)
-			    nda.resize (dim_vector (nr, max_size / nr),
-					elt_zero);
-			  else
-			    nda.resize (dim_vector (max_size, 1), elt_zero);
-
-			  dat = nda.fortran_vec ();
-			}
-
-		      dat[count++] = tmp;
-
-		      elts_read++;
+		      max_size *= 2;
+
+		      if (nr > 0)
+			nda.resize (dim_vector (nr, max_size / nr),
+				    elt_zero);
+		      else
+			nda.resize (dim_vector (max_size, 1), elt_zero);
+
+		      dat = nda.fortran_vec ();
 		    }
 
-		  if (skip != 0 && elts_read == block_size)
+		  dat[count++] = tmp;
+
+		  elts_read++;
+		}
+
+	      if (skip != 0 && elts_read == block_size)
+		{
+		  strm.seek (skip, SEEK_CUR);
+		  elts_read = 0;
+		}
+
+	      if (is.eof ())
+		{
+		  if (nr > 0)
 		    {
-		      strm.seek (skip, SEEK_CUR);
-		      elts_read = 0;
-		    }
-
-		  if (is.eof ())
-		    {
-		      if (nr > 0)
+		      if (count > nr)
 			{
-			  if (count > nr)
-			    {
-			      final_nr = nr;
-			      final_nc = (count - 1) / nr + 1;
-			    }
-			  else
-			    {
-			      final_nr = count;
-			      final_nc = 1;
-			    }
+			  final_nr = nr;
+			  final_nc = (count - 1) / nr + 1;
 			}
 		      else
 			{
 			  final_nr = count;
 			  final_nc = 1;
 			}
-
-		      break;
 		    }
-		}
-	      else
-		{
-		  ok = false;
+		  else
+		    {
+		      final_nr = count;
+		      final_nc = 1;
+		    }
+
 		  break;
 		}
 	    }
-	  else
-	    {
-	      ok = false;
-	      break;
-	    }
+	  else if (is.eof ())
+	    break;
 	}
     }
 
-  if (ok)
-    {
-      nda.resize (dim_vector (final_nr, final_nc), elt_zero);
-
-      retval = nda;
-    }
+  nda.resize (dim_vector (final_nr, final_nc), elt_zero);
+
+  retval = nda;
 
   return retval;
 }
--- a/src/ov-intx.h	Thu Sep 23 17:01:13 2004 +0000
+++ b/src/ov-intx.h	Fri Sep 24 03:22:24 2004 +0000
@@ -72,7 +72,7 @@
 	  if (Vwarn_fortran_indexing)
 	    gripe_implicit_conversion (type_name (), "real scalar");
 
-	  retval = double (matrix (0, 0));
+	  retval = double (matrix(0));
 	}
       else
 	gripe_invalid_conversion (type_name (), "real scalar");
@@ -99,7 +99,7 @@
       ComplexNDArray retval (matrix.dims ()); 
       int nel = matrix.numel ();
       for (int i = 0; i < nel; i++)
-        retval(i) = Complex (matrix(i));
+        retval(i) = Complex (double (matrix(i)));
       return retval;
     }
 
@@ -197,7 +197,7 @@
   complex_array_value (bool = false) const
     { 
       ComplexNDArray retval (dim_vector (1,1)); 
-      retval(0) = Complex (scalar);
+      retval(0) = Complex (double (scalar));
       return retval;
     }
 
--- a/src/pr-output.cc	Thu Sep 23 17:01:13 2004 +0000
+++ b/src/pr-output.cc	Fri Sep 24 03:22:24 2004 +0000
@@ -1347,12 +1347,13 @@
     }
 }
 
+template <class T>
 static inline void
-pr_plus_format (std::ostream& os, double d)
+pr_plus_format (std::ostream& os, const T& val)
 {
-  if (d > 0.0)
+  if (val > T (0))
     os << plus_format_chars[0];
-  else if (d < 0.0)
+  else if (val < T (0))
     os << plus_format_chars[1];
   else
     os << plus_format_chars[2];
@@ -1599,6 +1600,7 @@
     }
 }
 
+template <>
 static inline void
 pr_plus_format (std::ostream& os, const Complex& c)
 {
@@ -2468,7 +2470,7 @@
   else
     {
       if (free_format)
-	os << typename octave_print_conv<T>::print_conv_type (val);
+	os << typename octave_print_conv<octave_int<T> >::print_conv_type (val);
       else
 	pr_int (os, val);
     }