CVS: sml-dist primop-list,1.1.2.13,1.1.2.14

David MacQueen <[email protected]> Sat, 29 Jul 2006 20:43:36 -0700
Newsgroups gmane.comp.lang.sml.smlnj.commits
Message-ID <[email protected]>
Update of /cvsroot/smlnj/sml-dist
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv23745

Modified Files:
      Tag: primop-branch-2
	primop-list 
Log Message:
minor edits of primop-list

Index: primop-list
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/Attic/primop-list,v
retrieving revision 1.1.2.13
retrieving revision 1.1.2.14
diff -C2 -d -r1.1.2.13 -r1.1.2.14
*** primop-list	13 Jul 2006 22:28:03 -0000	1.1.2.13
--- primop-list	30 Jul 2006 03:43:34 -0000	1.1.2.14
***************
*** 5,9 ****
  structure that contains the "environmental" primops.  This is defined
  in PrimEnv (Semant/statenv/prim.sml). The secondary bindings are 
! found in InlineT, defined in system/smlnj/init/built-in.sml.
  Ternary bindings are found in the Basis modules (system/Basis).
  
--- 5,18 ----
  structure that contains the "environmental" primops.  This is defined
  in PrimEnv (Semant/statenv/prim.sml). The secondary bindings are 
! found in the following modules:
! 
!   InlineT       (system/smlnj/init/built-in.sml)
!   Core          (system/smlnj/init/core.sml)
!   CoreIntInf    (system/smlnj/init/core-intinf.sml)
!   CoreWord64    (system/smlnj/init/core-word64.sml)
!   MathInlineT   (system/smlnj/init/math-built-in-x86.sml)
!   RawMemInlineT (system/smlnj/init/rawmem.sml)
! 
! 
  Ternary bindings are found in the Basis modules (system/Basis).
  
***************
*** 42,51 ****
  	 InlineT.unboxed : 	'a -> bool
  
! 10   cast,       P.CAST,      		'a -> 'b
! 	 InlineT.cast : 		'a -> 'b
! 	 InlineT.identity :		'a -> 'a
! 	 InlineT.Char.ord :		char -> int
! 	 InlineT.IntInf.toLarge :	intinf -> intinf (* Aliased to identity *)
! 	 InlineT.IntInf.fromLarge :	intinf -> intinf
  
  11   =,		 P.POLYEQL,     ''a * ''a -> bool
--- 51,60 ----
  	 InlineT.unboxed : 	'a -> bool
  
! 10   cast,       P.CAST,      	    'a -> 'b
! 	 InlineT.cast : 	    'a -> 'b
! 	 InlineT.identity :	    'a -> 'a
! 	 InlineT.Char.ord :	    char -> int
! 	 InlineT.IntInf.toLarge :   intinf -> intinf (* Aliased to identity *)
! 	 InlineT.IntInf.fromLarge : intinf -> intinf
  
  11   =,		 P.POLYEQL,     ''a * ''a -> bool
***************
*** 126,148 ****
  	 InlineT.inlnot : 	bool -> bool
  
! 35   floor,   P.ROUND{floor=true,
! 		      fromkind=P.FLOAT 64,
! 		      tokind=P.INT 31},      real -> int
  
! 36   round,   P.ROUND{floor=false, 
! 		      fromkind=P.FLOAT 64,
! 		      tokind=P.INT 31},      real -> int
  
! 37   real,    P.REAL{fromkind=P.INT 31,
! 		     tokind=P.FLOAT 64},     int -> real
! 	 InlineT.Real64.from_int31 : 	     int -> real
  
! 38   real32,  P.REAL{fromkind=P.INT 32,
! 		     tokind=P.FLOAT 64},     int32 -> real
! 	 InlineT.Real64.from_int32 : 	     int32 -> real
  
! 39   ordof,   P.NUMSUBSCRIPT{kind=P.INT 8,
! 			     checked=false,
! 			     immutable=true},  'a * int -> 'b
  	 InlineT.Word8Array.sub : 	       Word8Array.array * int -> word8
  	 InlineT.Word8Vector.sub : 	       Word8Vector.vector * int -> word8
--- 135,149 ----
  	 InlineT.inlnot : 	bool -> bool
  
! 35   floor, P.ROUND{floor=true,fromkind=P.FLOAT 64,tokind=P.INT 31},   real -> int
  
! 36   round, P.ROUND{floor=false,fromkind=P.FLOAT 64,tokind=P.INT 31},  real -> int
  
! 37   real,  P.REAL{fromkind=P.INT 31,tokind=P.FLOAT 64}, int -> real
! 	 InlineT.Real64.from_int31 : 	     		   int -> real
  
! 38   real32, P.REAL{fromkind=P.INT 32,tokind=P.FLOAT 64}, int32 -> real
! 	 InlineT.Real64.from_int32 : 	     		   int32 -> real
  
! 39   ordof, P.NUMSUBSCRIPT{kind=P.INT 8,checked=false,immutable=true}, 'a * int -> 'b
  	 InlineT.Word8Array.sub : 	       Word8Array.array * int -> word8
  	 InlineT.Word8Vector.sub : 	       Word8Vector.vector * int -> word8
***************
*** 150,155 ****
  	 InlineT.CharVector.sub : 	       string * int -> char
  
! 40   store,   P.NUMUPDATE{kind=P.INT 8,
! 			  checked=false},   'a * int * 'b -> unit
  	 InlineT.Word8Array.update :        Word8Array.array * int * word8 -> unit
  	 InlineT.Word8Vector.update :       Word8Vector.vector * int * word8 -> unit
--- 151,155 ----
  	 InlineT.CharVector.sub : 	       string * int -> char
  
! 40   store, P.NUMUPDATE{kind=P.INT 8,checked=false}, 'a * int * 'b -> unit
  	 InlineT.Word8Array.update :        Word8Array.array * int * word8 -> unit
  	 InlineT.Word8Vector.update :       Word8Vector.vector * int * word8 -> unit
***************
*** 157,178 ****
  	 InlineT.CharVector.update :        string * int * char -> unit
  
! 41   inlbyteof,  P.NUMSUBSCRIPT{kind=P.INT 8,
! 				checked=true,
! 				immutable=false}, 'a * int -> 'b
  	 InlineT.Word8Array.chkSub :              Word8Array.array * int -> word8
  
! 42   inlstore,   P.NUMUPDATE{kind=P.INT 8,
! 			     checked=true},       'a * int * 'b -> unit
  	 InlineT.Word8Array.chkUpdate : 	  Word8Array.array * int * word8 -> unit
  	 InlineT.CharArray.chkUpdate : 	          CharArray.array * int * char -> unit
  
! 43   inlordof,   P.NUMSUBSCRIPT{kind=P.INT 8,
! 				checked=true,
! 				immutable=true}, 'a * int -> 'b
  	 InlineT.Word8Vector.chkSub : 	         Word8Vector.vector * int -> word8
  	 InlineT.CharArray.chkSub : 		 CharArray.array * int -> char
  	 InlineT.CharVector.chkSub : 	         string * int -> char
  
!      (*** polymorphic array and vector ***)
  44   mkarray,    P.INLMKARRAY,          int * 'a -> 'a array
  	 InlineT.PolyArray.array : 	int * 'a -> 'a array
--- 157,174 ----
  	 InlineT.CharVector.update :        string * int * char -> unit
  
! 41   inlbyteof, P.NUMSUBSCRIPT{kind=P.INT 8,checked=true,immutable=false}, 'a * int -> 'b
  	 InlineT.Word8Array.chkSub :              Word8Array.array * int -> word8
  
! 42   inlstore,  P.NUMUPDATE{kind=P.INT 8,checked=true},   'a * int * 'b -> unit
  	 InlineT.Word8Array.chkUpdate : 	  Word8Array.array * int * word8 -> unit
  	 InlineT.CharArray.chkUpdate : 	          CharArray.array * int * char -> unit
  
! 43   inlordof,  P.NUMSUBSCRIPT{kind=P.INT 8,checked=true,immutable=true}, 'a * int -> 'b
  	 InlineT.Word8Vector.chkSub : 	         Word8Vector.vector * int -> word8
  	 InlineT.CharArray.chkSub : 		 CharArray.array * int -> char
  	 InlineT.CharVector.chkSub : 	         string * int -> char
  
! (*** polymorphic array and vector ***)
! 
  44   mkarray,    P.INLMKARRAY,          int * 'a -> 'a array
  	 InlineT.PolyArray.array : 	int * 'a -> 'a array
***************
*** 198,202 ****
  	 InlineT.PolyArray.chkUpdate : 	'a array * int * 'a -> unit
  
!      (* new array representations *)
  51   newArray0,	 P.NEW_ARRAY0,		     unit -> 'a
  	 InlineT.PolyArray.newArray0 : 	     unit -> 'a array
--- 194,199 ----
  	 InlineT.PolyArray.chkUpdate : 	'a array * int * 'a -> unit
  
! (*** new array representations ***)
! 
  51   newArray0,	 P.NEW_ARRAY0,		     unit -> 'a
  	 InlineT.PolyArray.newArray0 : 	     unit -> 'a array
***************
*** 221,229 ****
  	 InlineT.raw64Sub : 		'a * int -> real
  
!      (* *** conversion primops ***
!       *   There are certain duplicates for the same primop (but with
!       *   different types).  In such a case, the canonical name
!       *   of the primop has been extended using a simple suffix
!       *   scheme. *)
  55   test_32_31_w,  P.TEST(32,31),  	word32 -> int
  	 InlineT.Word32.test_int31 : 	word32 -> int
--- 218,227 ----
  	 InlineT.raw64Sub : 		'a * int -> real
  
! (* *** conversion primops ***
!  *   There are certain duplicates for the same primop (but with
!  *   different types).  In such a case, the canonical name
!  *   of the primop has been extended using a simple suffix
!  *   scheme. *)
! 
  55   test_32_31_w,  P.TEST(32,31),  	word32 -> int
  	 InlineT.Word32.test_int31 : 	word32 -> int
***************
*** 411,416 ****
  106  trunc_inf_64,    P.TRUNC_INF 64,   intinf -> word64
  
!      (* primops to go between abstract and concrete representation of
!       * 64-bit ints and words *)
  107  w64p,            P.CVT64,          word64 -> word32 * word32
  	InlineT.Word64.extern : 	word64 -> word32 * word32
--- 409,415 ----
  106  trunc_inf_64,    P.TRUNC_INF 64,   intinf -> word64
  
! (* primops to go between abstract and concrete representation of
!  * 64-bit ints and words *)
! 
  107  w64p,            P.CVT64,          word64 -> word32 * word32
  	InlineT.Word64.extern : 	word64 -> word32 * word32
***************
*** 427,465 ****
  	InlineT.Int64.intern : 		word32 * word32 -> int64
  
!      (* *** integer 31 primops ***
!       *   Many of the i31 primops are being abused for different types
!       *   (mostly Word8.word and also for char).  In these cases
!       *   there are suffixed alternative versions of the primop
!       *   (i.e., same primop, different type). *)
  111  i31add, 	 int31 P.+,      	int * int -> int
! 	InlineT.Int31.op + : 		int * int -> int
  
  112  i31add_8, 	 int31 P.+,      	word8 * word8 -> word8
  
  113  i31sub,	 int31 P.-,      	int * int -> int
! 	InlineT.Int31.op - : 		int * int -> int
  
  114  i31sub_8,	 int31 P.-,      	word8 * word8 -> word8
  
  115  i31mul,	 int31 P.*,      	int * int -> int
! 	InlineT.Int31.op * : 		int * int -> int
  
  116  i31mul_8,	 int31 P.*,      	word8 * word8 -> word8
  
  117  i31div,	 int31 P.DIV,      	int * int -> int
! 	InlineT.Int31.op div : 		int * int -> int
  
  118  i31div_8,	 int31 P.DIV,      	word8 * word8 -> word8
  
  119  i31mod,     int31 P.MOD,      	int * int -> int
! 	InlineT.Int31.op mod : 		int * int -> int
  
  120  i31mod_8,   int31 P.MOD,           word8 * word8 -> word8
  
  121  i31quot,	 int31 P./,      	int * int -> int
! 	InlineT.Int31.op quot : 	int * int -> int
  
  122  i31rem,	 int31 P.REM,      	int * int -> int
! 	InlineT.Int31.op rem :		int * int -> int
  
  123  i31orb,	 bits31 P.ORB,      	int * int -> int
--- 426,465 ----
  	InlineT.Int64.intern : 		word32 * word32 -> int64
  
! (*** integer 31 primops ***)
! (*   Many of the i31 primops are being abused for different types
!  *   (mostly Word8.word and also for char).  In these cases
!  *   there are suffixed alternative versions of the primop
!  *   (i.e., same primop, different type). *)
! 
  111  i31add, 	 int31 P.+,      	int * int -> int
! 	InlineT.Int31.+ : 		int * int -> int
  
  112  i31add_8, 	 int31 P.+,      	word8 * word8 -> word8
  
  113  i31sub,	 int31 P.-,      	int * int -> int
! 	InlineT.Int31.- : 		int * int -> int
  
  114  i31sub_8,	 int31 P.-,      	word8 * word8 -> word8
  
  115  i31mul,	 int31 P.*,      	int * int -> int
! 	InlineT.Int31.* : 		int * int -> int
  
  116  i31mul_8,	 int31 P.*,      	word8 * word8 -> word8
  
  117  i31div,	 int31 P.DIV,      	int * int -> int
! 	InlineT.Int31.div : 		int * int -> int
  
  118  i31div_8,	 int31 P.DIV,      	word8 * word8 -> word8
  
  119  i31mod,     int31 P.MOD,      	int * int -> int
! 	InlineT.Int31.mod : 		int * int -> int
  
  120  i31mod_8,   int31 P.MOD,           word8 * word8 -> word8
  
  121  i31quot,	 int31 P./,      	int * int -> int
! 	InlineT.Int31.quot : 		int * int -> int
  
  122  i31rem,	 int31 P.REM,      	int * int -> int
! 	InlineT.Int31.rem :		int * int -> int
  
  123  i31orb,	 bits31 P.ORB,      	int * int -> int
***************
*** 499,530 ****
  
  137  i31lt,	 int31cmp P.<,		int * int -> bool
! 	InlineT.Int31.op < :		int * int -> bool
  
  138  i31lt_8,	 int31cmp P.<,		word8 * word8-> bool
  
  139  i31lt_c,	 int31cmp P.<,		char * char -> bool
! 	InlineT.Char.(op <=) :		(char * char) -> bool
  
  140  i31le,	 int31cmp P.<=,		int * int -> bool
! 	InlineT.Int31.op <= :		int * int -> bool
  
  141  i31le_8,	 int31cmp P.<=,		word8 * word8-> bool
  
  142  i31le_c,	 int31cmp P.<=,		char * char -> bool
! 	InlineT.Char.(op <=) :		(char * char) -> bool
  
  143  i31gt,	 int31cmp P.>,		int * int -> bool
! 	InlineT.Int31.op > :		int * int -> bool
  
  144  i31gt_8,	 int31cmp P.>,		word8 * word8-> bool
  145  i31gt_c,	 int31cmp P.>,		char * char-> bool
! 	InlineT.Char.(op >) :		(char * char) -> bool
  
  146  i31ge, 	 int31cmp P.>=,		int * int -> bool
! 	InlineT.Int31.op >= :		int * int -> bool
  
  147  i31ge_8, 	 int31cmp P.>=,		word8 * word8-> bool
  148  i31ge_c, 	 int31cmp P.>=,		char * char -> bool
! 	InlineT.Char.(op >=) :		(char * char) -> bool
  
  149  i31ltu,	 word31cmp P.LTU,      	int * int -> bool
--- 499,530 ----
  
  137  i31lt,	 int31cmp P.<,		int * int -> bool
! 	InlineT.Int31.< :		int * int -> bool
  
  138  i31lt_8,	 int31cmp P.<,		word8 * word8-> bool
  
  139  i31lt_c,	 int31cmp P.<,		char * char -> bool
! 	InlineT.Char.<= :		(char * char) -> bool
  
  140  i31le,	 int31cmp P.<=,		int * int -> bool
! 	InlineT.Int31.<= :		int * int -> bool
  
  141  i31le_8,	 int31cmp P.<=,		word8 * word8-> bool
  
  142  i31le_c,	 int31cmp P.<=,		char * char -> bool
! 	InlineT.Char.<= :		(char * char) -> bool
  
  143  i31gt,	 int31cmp P.>,		int * int -> bool
! 	InlineT.Int31.> :		int * int -> bool
  
  144  i31gt_8,	 int31cmp P.>,		word8 * word8-> bool
  145  i31gt_c,	 int31cmp P.>,		char * char-> bool
! 	InlineT.Char.> :		(char * char) -> bool
  
  146  i31ge, 	 int31cmp P.>=,		int * int -> bool
! 	InlineT.Int31.>= :		int * int -> bool
  
  147  i31ge_8, 	 int31cmp P.>=,		word8 * word8-> bool
  148  i31ge_c, 	 int31cmp P.>=,		char * char -> bool
! 	InlineT.Char.>= :		(char * char) -> bool
  
  149  i31ltu,	 word31cmp P.LTU,      	int * int -> bool
***************
*** 535,542 ****
  
  151  i31eq,	 int31cmp P.EQL,      	int * int -> bool
! 	InlineT.Int31.op = :		int * int -> bool
  
  152  i31ne,	 int31cmp P.NEQ,      	int * int -> bool
! 	InlineT.Int31.op <> :		int * int -> bool
  
  153  i31min,	 P.INLMIN (P.INT 31),  	int * int -> int
--- 535,542 ----
  
  151  i31eq,	 int31cmp P.EQL,      	int * int -> bool
! 	InlineT.Int31.= :		int * int -> bool
  
  152  i31ne,	 int31cmp P.NEQ,      	int * int -> bool
! 	InlineT.Int31.<> :		int * int -> bool
  
  153  i31min,	 P.INLMIN (P.INT 31),  	int * int -> int
***************
*** 552,576 ****
  	InlineT.Int31.abs :		int -> int
  
!      (*** integer 32 primops ***)
  158  i32mul,     int32 P.*,      	int32 * int32 -> int32
! 	InlineT.Int32.op * :		int32 * int32 -> int32
  
  159  i32div,     int32 P.DIV,      	int32 * int32 -> int32
! 	InlineT.Int32.op div :		int32 * int32 -> int32
  
  160  i32mod,     int32 P.MOD,      	int32 * int32 -> int32
! 	InlineT.Int32.op mod :		int32 * int32 -> int32
  
  161  i32quot,    int32 P./,      	int32 * int32 -> int32
! 	InlineT.Int32.op quot :		int32 * int32 -> int32
  
  162  i32rem,     int32 P.REM,      	int32 * int32 -> int32
! 	InlineT.Int32.op rem :		int32 * int32 -> int32
  
  163  i32add,     int32 P.+,      	int32 * int32 -> int32
! 	InlineT.Int32.op + :		int32 * int32 -> int32
  
  164  i32sub,     int32 P.-,      	int32 * int32 -> int32
! 	InlineT.Int32.op - :		int32 * int32 -> int32
  
  165  i32orb,     bits32 P.ORB,      	int32 * int32 -> int32
--- 552,577 ----
  	InlineT.Int31.abs :		int -> int
  
! (*** integer 32 primops ***)
! 
  158  i32mul,     int32 P.*,      	int32 * int32 -> int32
! 	InlineT.Int32.* :		int32 * int32 -> int32
  
  159  i32div,     int32 P.DIV,      	int32 * int32 -> int32
! 	InlineT.Int32.div :		int32 * int32 -> int32
  
  160  i32mod,     int32 P.MOD,      	int32 * int32 -> int32
! 	InlineT.Int32.mod :		int32 * int32 -> int32
  
  161  i32quot,    int32 P./,      	int32 * int32 -> int32
! 	InlineT.Int32.quot :		int32 * int32 -> int32
  
  162  i32rem,     int32 P.REM,      	int32 * int32 -> int32
! 	InlineT.Int32.rem :		int32 * int32 -> int32
  
  163  i32add,     int32 P.+,      	int32 * int32 -> int32
! 	InlineT.Int32.+ :		int32 * int32 -> int32
  
  164  i32sub,     int32 P.-,      	int32 * int32 -> int32
! 	InlineT.Int32.- :		int32 * int32 -> int32
  
  165  i32orb,     bits32 P.ORB,      	int32 * int32 -> int32
***************
*** 594,613 ****
  
  171  i32lt,      int32cmp P.<,		int32 * int32 -> bool
! 	InlineT.Int32.op < :		int32 * int32 -> bool
  
  172  i32le,      int32cmp P.<=,		int32 * int32 -> bool
! 	InlineT.Int32.op <= :		int32 * int32 -> bool
  
  173  i32gt,      int32cmp P.>,		int32 * int32 -> bool
! 	InlineT.Int32.op > :		int32 * int32 -> bool
  
  174  i32ge,      int32cmp P.>=,		int32 * int32 -> bool
! 	InlineT.Int32.op >= :		int32 * int32 -> bool
  
  175  i32eq,      int32cmp P.EQL,	int32 * int32 -> bool
! 	InlineT.Int32.op = :		int32 * int32 -> bool
  
  176  i32ne,      int32cmp P.NEQ,	int32 * int32 -> bool
! 	InlineT.Int32.op <> :		int32 * int32 -> bool
  
  177  i32min,	 P.INLMIN (P.INT 32),  	int32 * int32 -> int32
--- 595,614 ----
  
  171  i32lt,      int32cmp P.<,		int32 * int32 -> bool
! 	InlineT.Int32.< :		int32 * int32 -> bool
  
  172  i32le,      int32cmp P.<=,		int32 * int32 -> bool
! 	InlineT.Int32.<= :		int32 * int32 -> bool
  
  173  i32gt,      int32cmp P.>,		int32 * int32 -> bool
! 	InlineT.Int32.> :		int32 * int32 -> bool
  
  174  i32ge,      int32cmp P.>=,		int32 * int32 -> bool
! 	InlineT.Int32.>= :		int32 * int32 -> bool
  
  175  i32eq,      int32cmp P.EQL,	int32 * int32 -> bool
! 	InlineT.Int32.= :		int32 * int32 -> bool
  
  176  i32ne,      int32cmp P.NEQ,	int32 * int32 -> bool
! 	InlineT.Int32.<> :		int32 * int32 -> bool
  
  177  i32min,	 P.INLMIN (P.INT 32),  	int32 * int32 -> int32
***************
*** 620,635 ****
  	InlineT.Int32.abs :		int32 -> int32
  
!      (*** float 64 primops ***)
  180  f64add, 	 purefloat64 (P.+),      real * real -> real
! 	InlineT.Real64.op + :		 real * real -> real
  
  181  f64sub,	 purefloat64 (P.-),      real * real -> real
! 	InlineT.Real64.op - :		 real * real -> real
  
  182  f64div, 	 purefloat64 (P./),      real * real -> real
! 	InlineT.Real64.op / :		 real * real -> real
  
  183  f64mul,	 purefloat64 (P.* ),     real * real -> real
! 	InlineT.Real64.op * :		 real * real -> real
  
  184  f64neg,	 purefloat64 P.~,      	 real -> real
--- 621,637 ----
  	InlineT.Int32.abs :		int32 -> int32
  
! (*** float 64 primops ***)
! 
  180  f64add, 	 purefloat64 (P.+),      real * real -> real
! 	InlineT.Real64.+ :		 real * real -> real
  
  181  f64sub,	 purefloat64 (P.-),      real * real -> real
! 	InlineT.Real64.- :		 real * real -> real
  
  182  f64div, 	 purefloat64 (P./),      real * real -> real
! 	InlineT.Real64./ :		 real * real -> real
  
  183  f64mul,	 purefloat64 (P.* ),     real * real -> real
! 	InlineT.Real64.* :		 real * real -> real
  
  184  f64neg,	 purefloat64 P.~,      	 real -> real
***************
*** 637,656 ****
  
  185  f64ge,	 float64cmp (P.>=),      real * real -> bool
! 	InlineT.Real64.op >= :		 real * real -> bool
  
  186  f64gt,	 float64cmp (P.>),       real * real -> bool
! 	InlineT.Real64.op > :		 real * real -> bool
  
  187  f64le,	 float64cmp (P.<=),      real * real -> bool
! 	InlineT.Real64.op <= :		 real * real -> bool
  
  188  f64lt,	 float64cmp (P.<),       real * real -> bool
! 	InlineT.Real64.op < :		 real * real -> bool
  
  189  f64eq,	 float64cmp P.EQL,       real * real -> bool
! 	InlineT.Real64.op == :		 real * real -> bool
  
  190  f64ne,	 float64cmp P.NEQ,       real * real -> bool
! 	InlineT.Real64.op != :		 real * real -> bool
  
  191  f64abs,	 purefloat64 P.ABS,      real -> real
--- 639,658 ----
  
  185  f64ge,	 float64cmp (P.>=),      real * real -> bool
! 	InlineT.Real64.>= :		 real * real -> bool
  
  186  f64gt,	 float64cmp (P.>),       real * real -> bool
! 	InlineT.Real64.> :		 real * real -> bool
  
  187  f64le,	 float64cmp (P.<=),      real * real -> bool
! 	InlineT.Real64.<= :		 real * real -> bool
  
  188  f64lt,	 float64cmp (P.<),       real * real -> bool
! 	InlineT.Real64.< :		 real * real -> bool
  
  189  f64eq,	 float64cmp P.EQL,       real * real -> bool
! 	InlineT.Real64.== :		 real * real -> bool
  
  190  f64ne,	 float64cmp P.NEQ,       real * real -> bool
! 	InlineT.Real64.!= :		 real * real -> bool
  
  191  f64abs,	 purefloat64 P.ABS,      real -> real
***************
*** 668,672 ****
  	InlineT.Real64.max :		 real * real -> real
  
!      (*** float64 array ***)	
  198  f64Sub,	   sub (P.FLOAT 64),	'a * int -> 'b
  	InlineT.Real64Array.sub :	Assembly.A.real64array * int -> real
--- 670,675 ----
  	InlineT.Real64.max :		 real * real -> real
  
! (*** float64 array ***)	
! 
  198  f64Sub,	   sub (P.FLOAT 64),	'a * int -> 'b
  	InlineT.Real64Array.sub :	Assembly.A.real64array * int -> real
***************
*** 678,686 ****
  	InlineT.Real64Array.update :	Assembly.A.real64array * int * real -> unit
  
! 201  f64chkUpdate, chkUpdate (P.FLOAT 64),	'a * int * 'b -> unit
! 	InlineT.Real64Array.chkUpdate :		Assembly.A.real64array * int * real -> unit
  
!      (*** word8 primops ***)
  (** InlineT.Word8 uses InLine.w31???_8 primops instead of these variants *) 
  202  w8orb,	 word31 P.ORB,      	 word8 * word8 -> word8
  203  w8xorb,	 word31 P.XORB,      	 word8 * word8 -> word8
--- 681,690 ----
  	InlineT.Real64Array.update :	Assembly.A.real64array * int * real -> unit
  
! 201  f64chkUpdate, chkUpdate (P.FLOAT 64), 'a * int * 'b -> unit
! 	InlineT.Real64Array.chkUpdate :	   Assembly.A.real64array * int * real -> unit
  
! (*** word8 primops ***)
  (** InlineT.Word8 uses InLine.w31???_8 primops instead of these variants *) 
+ 
  202  w8orb,	 word31 P.ORB,      	 word8 * word8 -> word8
  203  w8xorb,	 word31 P.XORB,      	 word8 * word8 -> word8
***************
*** 694,700 ****
  210  w8ne,	 word8cmp P.NEQ,      	 word8 * word8 -> bool
  
!      (*** word8 array and vector ***)
  (** InlineT.Word8Array and Word8Vector use InLine.ordof, InLine.inlbyteof, ...
!     instead of these primops *)
  211  w8Sub,	   sub (P.UINT 8),  	 'a * int -> 'b
  212  w8chkSub,	   chkSub (P.UINT 8),    'a * int -> 'b
--- 698,705 ----
  210  w8ne,	 word8cmp P.NEQ,      	 word8 * word8 -> bool
  
! (*** word8 array and vector ***)
  (** InlineT.Word8Array and Word8Vector use InLine.ordof, InLine.inlbyteof, ...
!     instead of these primops **)
! 
  211  w8Sub,	   sub (P.UINT 8),  	 'a * int -> 'b
  212  w8chkSub,	   chkSub (P.UINT 8),    'a * int -> 'b
***************
*** 704,722 ****
  216  w8chkUpdate,  chkUpdate (P.UINT 8), 'a * int * 'b -> unit
  
!      (* word31 primops *)
  217  w31mul,	   word31 (P.* ),	word * word -> word
! 	InlineT.Word31.op * :		word * word -> word
  
  218  w31div,	   word31 (P./),	word * word -> word
! 	InlineT.Word31.op div :		word * word -> word
  
  219  w31mod,	   word31 (P.REM),	word * word -> word
! 	InlineT.Word31.op mod :		word * word -> word
  
  220  w31add,	   word31 (P.+),	word * word -> word
! 	InlineT.Word31.op + :		word * word -> word
  
  221  w31sub,	   word31 (P.-),	word * word -> word
! 	InlineT.Word31.op - :		word * word -> word
  
  222  w31orb,	   word31 P.ORB,	word * word -> word
--- 709,728 ----
  216  w8chkUpdate,  chkUpdate (P.UINT 8), 'a * int * 'b -> unit
  
! (*** word31 primops ***)
! 
  217  w31mul,	   word31 (P.* ),	word * word -> word
! 	InlineT.Word31.* :		word * word -> word
  
  218  w31div,	   word31 (P./),	word * word -> word
! 	InlineT.Word31.div :		word * word -> word
  
  219  w31mod,	   word31 (P.REM),	word * word -> word
! 	InlineT.Word31.mod :		word * word -> word
  
  220  w31add,	   word31 (P.+),	word * word -> word
! 	InlineT.Word31.+ :		word * word -> word
  
  221  w31sub,	   word31 (P.-),	word * word -> word
! 	InlineT.Word31.- :		word * word -> word
  
  222  w31orb,	   word31 P.ORB,	word * word -> word
***************
*** 745,760 ****
  
  230  w31gt,	   word31cmp (P.>),	word * word -> bool
! 	InlineT.Word31.op > :		word * word -> bool
  
  231  w31ge,	   word31cmp (P.>=),	word * word -> bool
! 	InlineT.Word31.op >= :		word * word -> bool
  
  232  w31lt,	   word31cmp (P.<),	word * word -> bool
! 	InlineT.Word31.op < :		word * word -> bool
  
  233  w31le,	   word31cmp (P.<=),	word * word -> bool
! 	InlineT.Word31.op <= :		word * word -> bool
  
  234  w31eq,	   word31cmp P.EQL,        word * word -> bool
  235  w31ne,	   word31cmp P.NEQ,        word * word -> bool
  
--- 751,767 ----
  
  230  w31gt,	   word31cmp (P.>),	word * word -> bool
! 	InlineT.Word31.> :		word * word -> bool
  
  231  w31ge,	   word31cmp (P.>=),	word * word -> bool
! 	InlineT.Word31.>= :		word * word -> bool
  
  232  w31lt,	   word31cmp (P.<),	word * word -> bool
! 	InlineT.Word31.< :		word * word -> bool
  
  233  w31le,	   word31cmp (P.<=),	word * word -> bool
! 	InlineT.Word31.<= :		word * word -> bool
  
  234  w31eq,	   word31cmp P.EQL,        word * word -> bool
+ 
  235  w31ne,	   word31cmp P.NEQ,        word * word -> bool
  
***************
*** 776,792 ****
       (* (pseudo-)word8 primops *)
  241  w31mul_8,	   word31 (P.* ),		word8 * word8 -> word8
! 	InlineT.Word8.op * :			word8 * word8 -> word8
  
  242  w31div_8,	   word31 (P./),		word8 * word8 -> word8
! 	InlineT.Word8.op div :			word8 * word8 -> word8
  
  243  w31mod_8,	   word31 (P.REM),		word8 * word8 -> word8
! 	InlineT.Word8.op mod :			word8 * word8 -> word8
  
  244  w31add_8,	   word31 (P.+),		word8 * word8 -> word8
! 	InlineT.Word8.op + :			word8 * word8 -> word8
  
  245  w31sub_8,	   word31 (P.-),		word8 * word8 -> word8
! 	InlineT.Word8.op - :			word8 * word8 -> word8
  
  246  w31orb_8,	   word31 P.ORB,		word8 * word8 -> word8
--- 783,799 ----
       (* (pseudo-)word8 primops *)
  241  w31mul_8,	   word31 (P.* ),		word8 * word8 -> word8
! 	InlineT.Word8.* :			word8 * word8 -> word8
  
  242  w31div_8,	   word31 (P./),		word8 * word8 -> word8
! 	InlineT.Word8.div :			word8 * word8 -> word8
  
  243  w31mod_8,	   word31 (P.REM),		word8 * word8 -> word8
! 	InlineT.Word8.mod :			word8 * word8 -> word8
  
  244  w31add_8,	   word31 (P.+),		word8 * word8 -> word8
! 	InlineT.Word8.+ :			word8 * word8 -> word8
  
  245  w31sub_8,	   word31 (P.-),		word8 * word8 -> word8
! 	InlineT.Word8.- :			word8 * word8 -> word8
  
  246  w31orb_8,	   word31 P.ORB,		word8 * word8 -> word8
***************
*** 810,815 ****
  
  252  w31rshiftl_8, word31 P.RSHIFTL,		word8 * word -> word8
! 	(** This may be a bug... InlineT.Word8.rshiftl is incorrectly
! 	    aliased to InLine.w31rshift_8 *)
  
  253  w31lshift_8,  word31 P.LSHIFT,		word8 * word -> word8
--- 817,822 ----
  
  252  w31rshiftl_8, word31 P.RSHIFTL,		word8 * word -> word8
!      (** This may be a bug... InlineT.Word8.rshiftl is (incorrectly?)
!       ** aliased to InLine.w31rshift_8 **)
  
  253  w31lshift_8,  word31 P.LSHIFT,		word8 * word -> word8
***************
*** 817,833 ****
  
  254  w31gt_8,	   word31cmp (P.>),		word8 * word8 -> bool
! 	InlineT.Word8.op > :			word8 * word8 -> bool
  
  255  w31ge_8,	   word31cmp (P.>=),		word8 * word8 -> bool
! 	InlineT.Word8.op >= :			word8 * word8 -> bool
  
  256  w31lt_8,	   word31cmp (P.<),		word8 * word8 -> bool
! 	InlineT.Word8.op < :			word8 * word8 -> bool
  
  257  w31le_8,	   word31cmp (P.<=),		word8 * word8 -> bool
! 	InlineT.Word8.op <= :			word8 * word8 -> bool
  
! 258  w31eq_8,	   word31cmp P.EQL,        word8 * word8 -> bool
! 259  w31ne_8,	   word31cmp P.NEQ,        word8 * word8 -> bool
  
  260  w31ChkRshift_8, P.INLRSHIFT(P.UINT 31),	word8 * word -> word8
--- 824,841 ----
  
  254  w31gt_8,	   word31cmp (P.>),		word8 * word8 -> bool
! 	InlineT.Word8.> :			word8 * word8 -> bool
  
  255  w31ge_8,	   word31cmp (P.>=),		word8 * word8 -> bool
! 	InlineT.Word8.>= :			word8 * word8 -> bool
  
  256  w31lt_8,	   word31cmp (P.<),		word8 * word8 -> bool
! 	InlineT.Word8.< :			word8 * word8 -> bool
  
  257  w31le_8,	   word31cmp (P.<=),		word8 * word8 -> bool
! 	InlineT.Word8.<= :			word8 * word8 -> bool
  
! 258  w31eq_8,	   word31cmp P.EQL,             word8 * word8 -> bool
! 
! 259  w31ne_8,	   word31cmp P.NEQ,             word8 * word8 -> bool
  
  260  w31ChkRshift_8, P.INLRSHIFT(P.UINT 31),	word8 * word -> word8
***************
*** 846,864 ****
  	InlineT.Word8.max :			word8 * word8 -> word8
  
!      (*** word32 primops ***)
  265  w32mul,	   word32 (P.* ),		word32 * word32 -> word32
! 	InlineT.Word32.op * :			word32 * word32 -> word32
  
  266  w32div,	   word32 (P./),		word32 * word32 -> word32
! 	InlineT.Word32.op div :			word32 * word32 -> word32
  
  267  w32mod,	   word32 (P.REM),		word32 * word32 -> word32
! 	InlineT.Word32.op mod :			word32 * word32 -> word32
  
  268  w32add,	   word32 (P.+),		word32 * word32 -> word32
! 	InlineT.Word32.op + :			word32 * word32 -> word32
  
  269  w32sub,	   word32 (P.-),		word32 * word32 -> word32
! 	InlineT.Word32.op - :			word32 * word32 -> word32
  
  270  w32orb,	   word32 P.ORB,		word32 * word32 -> word32
--- 854,873 ----
  	InlineT.Word8.max :			word8 * word8 -> word8
  
! (*** word32 primops ***)
! 
  265  w32mul,	   word32 (P.* ),		word32 * word32 -> word32
! 	InlineT.Word32.* :			word32 * word32 -> word32
  
  266  w32div,	   word32 (P./),		word32 * word32 -> word32
! 	InlineT.Word32.div :			word32 * word32 -> word32
  
  267  w32mod,	   word32 (P.REM),		word32 * word32 -> word32
! 	InlineT.Word32.mod :			word32 * word32 -> word32
  
  268  w32add,	   word32 (P.+),		word32 * word32 -> word32
! 	InlineT.Word32.+ :			word32 * word32 -> word32
  
  269  w32sub,	   word32 (P.-),		word32 * word32 -> word32
! 	InlineT.Word32.- :			word32 * word32 -> word32
  
  270  w32orb,	   word32 P.ORB,		word32 * word32 -> word32
***************
*** 892,908 ****
  
  278  w32gt,	   word32cmp (P.>),		word32 * word32 -> bool
! 	InlineT.Word32.op > :			word32 * word32 -> bool
  
  279  w32ge,	   word32cmp (P.>=),		word32 * word32 -> bool
! 	InlineT.Word32.op < :			word32 * word32 -> bool
  
  280  w32lt,	   word32cmp (P.<),		word32 * word32 -> bool
! 	InlineT.Word32.op < :			word32 * word32 -> bool
  
  281  w32le,	   word32cmp (P.<=),		word32 * word32 -> bool
! 	InlineT.Word32.op <= :			word32 * word32 -> bool
  
! 282  w32eq,	   word32cmp P.EQL,        word32 * word32 -> bool
! 283  w32ne,	   word32cmp P.NEQ,        word32 * word32 -> bool
  
  284  w32ChkRshift, P.INLRSHIFT(P.UINT 32),	word32 * word -> word32
--- 901,918 ----
  
  278  w32gt,	   word32cmp (P.>),		word32 * word32 -> bool
! 	InlineT.Word32.> :			word32 * word32 -> bool
  
  279  w32ge,	   word32cmp (P.>=),		word32 * word32 -> bool
! 	InlineT.Word32.< :			word32 * word32 -> bool
  
  280  w32lt,	   word32cmp (P.<),		word32 * word32 -> bool
! 	InlineT.Word32.< :			word32 * word32 -> bool
  
  281  w32le,	   word32cmp (P.<=),		word32 * word32 -> bool
! 	InlineT.Word32.<= :			word32 * word32 -> bool
  
! 282  w32eq,	   word32cmp P.EQL,             word32 * word32 -> bool
! 
! 283  w32ne,	   word32cmp P.NEQ,             word32 * word32 -> bool
  
  284  w32ChkRshift, P.INLRSHIFT(P.UINT 32),	word32 * word -> word32
***************
*** 921,925 ****
  	InlineT.Word32.max :			word32 * word32 -> word32
  
!      (* experimental C FFI primops *)
  289  raww8l,       P.RAW_LOAD (P.UINT 8),    word32 -> word32
  	RawMemInlineT.w8l : 		     word32 -> word32
--- 931,936 ----
  	InlineT.Word32.max :			word32 * word32 -> word32
  
! (*** experimental C FFI primops ***)
! 
  289  raww8l,       P.RAW_LOAD (P.UINT 8),    word32 -> word32
  	RawMemInlineT.w8l : 		     word32 -> word32
***************
*** 973,984 ****
  	RawMemInlineT.rawccall :	     word32 * 'a * 'b -> 'c
  
!      (* Support for direct construction of C objects on ML heap.
!       * rawrecord builds a record holding C objects on the heap.
!       * rawselectxxx index on this record.  They are of type:
!       *    'a * Word32.word -> Word32.word
!       * The 'a is to guarantee that the compiler will treat
!       * the record as a ML object, in case it passes thru a gc boundary.
!       * rawupdatexxx writes to the record.
!       *) 
  306  rawrecord,    P.RAW_RECORD{fblock = false},  int -> 'a
  	RawMemInlineT.rawrecord :	     	  int -> 'a
--- 984,996 ----
  	RawMemInlineT.rawccall :	     word32 * 'a * 'b -> 'c
  
! (* Support for direct construction of C objects on ML heap.
!  * rawrecord builds a record holding C objects on the heap.
!  * rawselectxxx index on this record.  They are of type:
!  *    'a * Word32.word -> Word32.word
!  * The 'a is to guarantee that the compiler will treat
!  * the record as a ML object, in case it passes thru a gc boundary.
!  * rawupdatexxx writes to the record.
!  *) 
! 
  306  rawrecord,    P.RAW_RECORD{fblock = false},  int -> 'a
  	RawMemInlineT.rawrecord :	     	  int -> 'a


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV