IntInf and word operations
   
    Henry Cejtin
     
    henry@sourcelight.com
       
    Fri, 22 Sep 2000 19:56:35 -0500
    
    
  
Are you talking about the bit-wise operation stuff?
For  Word.fromLargeInt,  then  the meaning seems pretty clear to me.  Here is
code that will do this, assuming a large int is an IntInf.int:
    fun fromLargeInt (i: IntInf.int): Word.word =
           Word.fromInt (IntInf.toInt (IntInf.mod (i, IntInf.<< (1, 32))))
Well, ok, it would be that if I had written IntInf.<<, but  since  I  didn't,
you have to use
    fun fromLargeInt (i: IntInf.int): Word.word =
           Word.fromInt (IntInf.toInt (IntInf.mod (i, 4294967296)))
The  point  is  that you think of the bits for negative numbers as being what
they are for 2's complement.  I.e., to negate, you complement  all  the  bits
(an infinite number of them) and then increment.