This is the cl-isaac Reference Manual, version 1.0.8, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 04:00:11 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
cl-isaacOptimized Common Lisp version of Bob Jenkins’ ISAAC-32 and ISAAC-64 algorithms, fast cryptographic random number generators.
"the Phoeron" Colin J.E. Lupton <thephoeron@protonmail.com>
Doug Hoyte <doug@hoytech.com>
(GIT https://gitlab.common-lisp.net/thephoeron/cl-isaac)
BSD Simplified
1.0.8
packages.lisp (file).
isaac-32.lisp (file).
isaac-64.lisp (file).
cl-isaac.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
cl-isaac/cl-isaac.asdcl-isaac/packages.lispcl-isaac/isaac-32.lispcl-isaac/isaac-64.lispcl-isaac/cl-isaac.lispcl-isaac/cl-isaac.asdcl-isaac (system).
*isaac-version* (special variable).
cl-isaac/isaac-32.lisppackages.lisp (file).
cl-isaac (system).
copy-isaac-ctx (function).
generate-next-isaac-block (function).
isaac-ctx (structure).
isaac-ctx-a (reader).
(setf isaac-ctx-a) (writer).
isaac-ctx-b (reader).
(setf isaac-ctx-b) (writer).
isaac-ctx-c (reader).
(setf isaac-ctx-c) (writer).
isaac-ctx-p (function).
isaac-ctx-randcnt (reader).
(setf isaac-ctx-randcnt) (writer).
isaac-ctx-randmem (reader).
(setf isaac-ctx-randmem) (writer).
isaac-ctx-randrsl (reader).
(setf isaac-ctx-randrsl) (writer).
make-isaac-ctx (function).
mix (macro).
rand-bits (function).
rand32 (function).
scramble (function).
incf-wrap32 (macro).
cl-isaac/isaac-64.lispisaac-32.lisp (file).
cl-isaac (system).
copy-isaac64-ctx (function).
generate-next-isaac64-block (function).
isaac64-ctx (structure).
isaac64-ctx-a (reader).
(setf isaac64-ctx-a) (writer).
isaac64-ctx-b (reader).
(setf isaac64-ctx-b) (writer).
isaac64-ctx-c (reader).
(setf isaac64-ctx-c) (writer).
isaac64-ctx-p (function).
isaac64-ctx-randcnt (reader).
(setf isaac64-ctx-randcnt) (writer).
isaac64-ctx-randmem (reader).
(setf isaac64-ctx-randmem) (writer).
isaac64-ctx-randrsl (reader).
(setf isaac64-ctx-randrsl) (writer).
make-isaac64-ctx (function).
mix64 (macro).
rand-bits-64 (function).
rand64 (function).
scramble64 (function).
decf-wrap64 (macro).
incf-wrap64 (macro).
cl-isaac/cl-isaac.lispisaac-64.lisp (file).
cl-isaac (system).
init-common-lisp-random-seed (function).
init-kernel-seed (function).
init-null-seed (function).
init-self-seed (function).
jenkins-output (function).
jenkins-output-64 (function).
test-self-seed-64 (function).
Packages are listed by definition order.
cl-isaacisaac
common-lisp.
common-lisp-user.
copy-isaac-ctx (function).
copy-isaac64-ctx (function).
generate-next-isaac-block (function).
generate-next-isaac64-block (function).
init-common-lisp-random-seed (function).
init-kernel-seed (function).
init-null-seed (function).
init-self-seed (function).
isaac-ctx (structure).
isaac-ctx-a (reader).
(setf isaac-ctx-a) (writer).
isaac-ctx-b (reader).
(setf isaac-ctx-b) (writer).
isaac-ctx-c (reader).
(setf isaac-ctx-c) (writer).
isaac-ctx-p (function).
isaac-ctx-randcnt (reader).
(setf isaac-ctx-randcnt) (writer).
isaac-ctx-randmem (reader).
(setf isaac-ctx-randmem) (writer).
isaac-ctx-randrsl (reader).
(setf isaac-ctx-randrsl) (writer).
isaac64-ctx (structure).
isaac64-ctx-a (reader).
(setf isaac64-ctx-a) (writer).
isaac64-ctx-b (reader).
(setf isaac64-ctx-b) (writer).
isaac64-ctx-c (reader).
(setf isaac64-ctx-c) (writer).
isaac64-ctx-p (function).
isaac64-ctx-randcnt (reader).
(setf isaac64-ctx-randcnt) (writer).
isaac64-ctx-randmem (reader).
(setf isaac64-ctx-randmem) (writer).
isaac64-ctx-randrsl (reader).
(setf isaac64-ctx-randrsl) (writer).
jenkins-output (function).
jenkins-output-64 (function).
make-isaac-ctx (function).
make-isaac64-ctx (function).
mix (macro).
mix64 (macro).
rand-bits (function).
rand-bits-64 (function).
rand32 (function).
rand64 (function).
scramble (function).
scramble64 (function).
decf-wrap64 (macro).
incf-wrap32 (macro).
incf-wrap64 (macro).
test-self-seed-64 (function).
cl-isaac-asdasdf/interface.
common-lisp.
*isaac-version* (special variable).
Definitions are sorted by export status, category, package, and then by lexicographic order.
A string denoting the current version of CL-ISAAC. Used for diagnostic output.
Initialize random seed from CL:RANDOM. If :is64 t, use ISAAC-64 context.
Initialize Kernel seed from /dev/arandom on BSD systems, /dev/urandom on Linux systems, or return an error. If :is64 t, use ISAAC-64 context.
Initialize null seed, useful for testing but not production. If :is64 t, use ISAAC-64 context.
Initialize cryptographically strong self-seed starting with a kernel-seed as first round, and then performing a scramble on the bits and modular addition between the resulting values and a new kernel-seed on each additional count. :count n (default: 1), a real number, instructs the self-seed to repeat n times. If :is64 t, use ISAAC-64 context.
a.
b.
c.
a.
b.
c.
Output ISAAC-32 block context to FILENAME using null seed. Output is the same as Jenkins’ randvect.txt
Output ISAAC-64 block context to FILENAME using null seed.
structure-object.
(unsigned-byte 32)
0
(simple-array (unsigned-byte 32) (256))
(make-array 256 :element-type (quote (unsigned-byte 32)) :initial-element 0)
(simple-array (unsigned-byte 32) (256))
(make-array 256 :element-type (quote (unsigned-byte 32)) :initial-element 0)
(unsigned-byte 32)
0
(unsigned-byte 32)
0
(unsigned-byte 32)
0
structure-object.
(unsigned-byte 64)
0
(simple-array (unsigned-byte 64) (256))
(make-array 256 :element-type (quote (unsigned-byte 64)) :initial-element 0)
(simple-array (unsigned-byte 64) (256))
(make-array 256 :element-type (quote (unsigned-byte 64)) :initial-element 0)
(unsigned-byte 64)
0
(unsigned-byte 64)
0
(unsigned-byte 64)
0
| Jump to: | (
   
 C D F G I J M R S T  | 
|---|
| Jump to: | (
   
 C D F G I J M R S T  | 
|---|
| Jump to: | *
   
 A B C R S  | 
|---|
| Jump to: | *
   
 A B C R S  | 
|---|
| Jump to: | C F I P S | 
|---|
| Jump to: | C F I P S | 
|---|