pseudo-random-generator-seed! should allow 0

original commit: 1802cca10ec6abfe4bc177a4d4d9fa0d9a201517
This commit is contained in:
Matthew Flatt 2019-10-07 20:08:41 -06:00
parent 18d18b7ff6
commit b34084640b
4 changed files with 5 additions and 7 deletions

View File

@ -1473,7 +1473,7 @@ and \scheme{below-int} (exclusive).
\noindent
\var{prgen} must be a psuedo-random generator state, and \var{seed-int} must
be a positive, exact integer.
be a nonnegative, exact integer.
Sets the state of a pseduo-random generator using only 31 or so bits
of \var{seed-int}. This procedure is useful for initializing the state

View File

@ -2584,7 +2584,6 @@
(error? (pseudo-random-generator-seed! 10 10))
(error? (pseudo-random-generator-seed! (vector 1 2 3) 10))
(error? (pseudo-random-generator-seed! (make-pseudo-random-generator) 10.0))
(error? (pseudo-random-generator-seed! (make-pseudo-random-generator) 0))
(error? (pseudo-random-generator-seed! (make-pseudo-random-generator) -1))
(error? (pseudo-random-generator->vector 0))

View File

@ -1317,9 +1317,8 @@ primvars.mo:Expected error in mat trace-output-port: "trace-output-port: #<input
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-next!: not a positive exact integer 10.0".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-seed!: not a pseudo-random generator 10".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-seed!: not a pseudo-random generator #(1 2 3)".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-seed!: not a positive exact integer 10.0".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-seed!: not a positive exact integer 0".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-seed!: not a positive exact integer -1".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-seed!: not a nonnegative exact integer 10.0".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator-seed!: not a nonnegative exact integer -1".
5_3.mo:Expected error in mat pseudo-random-generator: "pseudo-random-generator->vector: not a pseudo-random generator 0".
5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator: not a valid pseudo-random generator state vector 0".
5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator: not a valid pseudo-random generator state vector #(1 2 3 4 5)".

View File

@ -2623,9 +2623,9 @@
(set-who! pseudo-random-generator-seed!
(lambda (s n)
(unless (is-pseudo-random-generator? s) ($oops who "not a pseudo-random generator ~s" s))
(unless (or (and (fixnum? n) (fxpositive? n))
(unless (or (and (fixnum? n) (fx>= n 0))
(and (bignum? n) ($bigpositive? n)))
($oops who "not a positive exact integer ~s" n))
($oops who "not a nonnegative exact integer ~s" n))
(init! s (bitwise-and n #xFFFFFFFF)))))
(set-who! pseudo-random-generator-next!