src/Tools/Metis/metis.ML
changeset 25719 a51430528fe0
parent 25716 7a5dcfa5bbe2
child 25721 5ae1dc2bb5ea
equal deleted inserted replaced
25718:75d5d23a5c20 25719:a51430528fe0
   197 
   197 
   198 val randomWord = RandomWord.next;
   198 val randomWord = RandomWord.next;
   199 val randomBool = RandomWord.next_bit;
   199 val randomBool = RandomWord.next_bit;
   200 fun randomInt n = Word.toInt (Word.mod (randomWord (), Word.fromInt n));
   200 fun randomInt n = Word.toInt (Word.mod (randomWord (), Word.fromInt n));
   201 
   201 
   202 val real_word = real o Word.toInt;
   202 val normalizer = 1.0 / real RandomWord.range;
   203 val normalizer = 1.0 / real_word RandomWord.range;
   203 fun randomReal () = real (Word.toInt (RandomWord.next ())) * normalizer;
   204 fun randomReal () = real_word (RandomWord.next ()) * normalizer;
       
   205 
   204 
   206 end
   205 end
   207 
   206 
   208 (* ------------------------------------------------------------------------- *)
   207 (* ------------------------------------------------------------------------- *)
   209 (* Quotations a la Moscow ML.                                                *)
   208 (* Quotations a la Moscow ML.                                                *)