src/Tools/Metis/src/PortableIsabelle.sml
changeset 25719 a51430528fe0
parent 25717 7f0647c6362f
child 25721 5ae1dc2bb5ea
equal deleted inserted replaced
25718:75d5d23a5c20 25719:a51430528fe0
    35 
    35 
    36 val randomWord = RandomWord.next;
    36 val randomWord = RandomWord.next;
    37 val randomBool = RandomWord.next_bit;
    37 val randomBool = RandomWord.next_bit;
    38 fun randomInt n = Word.toInt (Word.mod (randomWord (), Word.fromInt n));
    38 fun randomInt n = Word.toInt (Word.mod (randomWord (), Word.fromInt n));
    39 
    39 
    40 val real_word = real o Word.toInt;
    40 val normalizer = 1.0 / real RandomWord.range;
    41 val normalizer = 1.0 / real_word RandomWord.range;
    41 fun randomReal () = real (Word.toInt (RandomWord.next ())) * normalizer;
    42 fun randomReal () = real_word (RandomWord.next ()) * normalizer;
       
    43 
    42 
    44 end
    43 end
    45 
    44 
    46 (* ------------------------------------------------------------------------- *)
    45 (* ------------------------------------------------------------------------- *)
    47 (* Quotations a la Moscow ML.                                                *)
    46 (* Quotations a la Moscow ML.                                                *)