RandomRDRand.st
changeset 4927 8e944da8fc20
parent 4926 0d707ba99ea5
child 5067 2fbc7ccd7e68
equal deleted inserted replaced
4926:0d707ba99ea5 4927:8e944da8fc20
   114 !RandomRDRand methodsFor:'random numbers'!
   114 !RandomRDRand methodsFor:'random numbers'!
   115 
   115 
   116 nextBoolean
   116 nextBoolean
   117     "generates a boolean random"
   117     "generates a boolean random"
   118 
   118 
   119     ^ self nextInteger odd
   119     ^ self nextInteger bitTest:1
   120 
   120 
   121     "
   121     "
   122         |bag rng|
   122         |bag rng|
   123 
   123 
   124         rng := self new.
   124         rng := self new.
   170     }
   170     }
   171     cfStillSet = true;
   171     cfStillSet = true;
   172 unsupported: ;
   172 unsupported: ;
   173 %}.
   173 %}.
   174     cfStillSet == true ifTrue:[
   174     cfStillSet == true ifTrue:[
   175         self primitiveFailed:'carry flag not clear after 500 tries'
   175         self primitiveFailed:'carry flag not set after 50 tries'
   176     ].
   176     ].
   177     self primitiveFailed:'unsupported on this architecture'
   177     self primitiveFailed:'unsupported on this architecture'
   178 
   178 
   179     "
   179     "
   180      self new nextInteger
   180      self new nextInteger