aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/files.spad.pamphlet
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@axiomatics.org>2015-12-31 14:56:12 -0800
committerGabriel Dos Reis <gdr@axiomatics.org>2015-12-31 14:56:12 -0800
commitf51aee83708673ef9941174951bec9aee80cb03c (patch)
tree4d8cfccd653dfa09819234bc61a8775091e4f1e6 /src/algebra/files.spad.pamphlet
parent039d244dbef31e4ca6d34d2cf42b58b41a572884 (diff)
downloadopen-axiom-f51aee83708673ef9941174951bec9aee80cb03c.tar.gz
Avoid modulus bias in 'random()' usage.
Diffstat (limited to 'src/algebra/files.spad.pamphlet')
-rw-r--r--src/algebra/files.spad.pamphlet2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/algebra/files.spad.pamphlet b/src/algebra/files.spad.pamphlet
index f09fbae3..b1233e8a 100644
--- a/src/algebra/files.spad.pamphlet
+++ b/src/algebra/files.spad.pamphlet
@@ -359,7 +359,7 @@ KeyedAccessFile(Entry): KAFcategory == KAFcapsule where
f.fileIOmode ~= "input" => error ["File not in read state",f]
ks: List Symbol := RKEYIDS(f.fileName)$Lisp
null ks => error ["Attempt to read empty file", f]
- ix := random()$Integer rem #ks
+ ix := random(#ks)$Integer
k: String := string(ks.ix)
[k, SPADRREAD(k, f.fileState)$Lisp]
write!(f, pr) ==