The random-state Reference Manual

This is the random-state Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sat Dec 03 23:08:18 2022 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 random-state

Portable random number generation.

Author

Nicolas Hafner <>

Home Page

https://Shinmera.github.io/random-state/

Source Control

(GIT https://github.com/Shinmera/random-state.git)

Bug Tracker

https://github.com/Shinmera/random-state/issues

License

zlib

Version

1.0.0

Dependency

documentation-utils (system).

Source

random-state.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 random-state/random-state.asd

Source

random-state.asd.

Parent Component

random-state (system).

ASDF Systems

random-state.


3.1.2 random-state/package.lisp

Source

random-state.asd.

Parent Component

random-state (system).

Packages

random-state.


3.1.3 random-state/toolkit.lisp

Dependency

package.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface

hopefully-sufficiently-random-seed (function).

Internals

3.1.4 random-state/generator.lisp

Dependency

toolkit.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.5 random-state/protocol.lisp

Dependency

generator.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface

3.1.6 random-state/linear-congruence.lisp

Dependency

protocol.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.7 random-state/mersenne-twister.lisp

Dependency

linear-congruence.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.8 random-state/middle-square.lisp

Dependency

mersenne-twister.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.9 random-state/pcg.lisp

Dependency

middle-square.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.10 random-state/rc4.lisp

Dependency

pcg.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.11 random-state/tt800.lisp

Dependency

rc4.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.12 random-state/kiss.lisp

Dependency

tt800.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.13 random-state/squirrel.lisp

Dependency

kiss.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.14 random-state/implementation.lisp

Dependency

squirrel.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

%make-generator (method).


3.1.15 random-state/documentation.lisp

Dependency

implementation.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).


4 Packages

Packages are listed by definition order.


4.1 random-state

Source

package.lisp.

Nickname

org.shirakumo.random-state

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Macros

Macro: define-generator (name bits-per-byte super slots &body bodies)
Package

random-state.

Source

generator.lisp.


5.1.2 Compiler macros

Compiler Macro: bits-per-byte (generator)
Package

random-state.

Source

generator.lisp.

Compiler Macro: copy (generator)
Package

random-state.

Source

generator.lisp.

Compiler Macro: ensure-generator (generator-ish)
Package

random-state.

Source

generator.lisp.

Compiler Macro: global-generator (name)
Package

random-state.

Source

generator.lisp.

Compiler Macro: next-byte (generator)
Package

random-state.

Source

generator.lisp.

Compiler Macro: random-float (generator from to)
Package

random-state.

Source

protocol.lisp.

Compiler Macro: random-unit (generator &optional type)
Package

random-state.

Source

protocol.lisp.

Compiler Macro: reseed (generator new-seed)
Package

random-state.

Source

generator.lisp.

Compiler Macro: rewind (hash-generator &optional by)
Package

random-state.

Source

generator.lisp.

Compiler Macro: seed (generator)
Package

random-state.

Source

generator.lisp.


5.1.3 Ordinary functions

Function: ensure-generator (generator-ish)

Ensures the argument is an object usable for random number generation.

See GLOBAL-GENERATOR
See GENERATOR

Package

random-state.

Source

generator.lisp.

Function: global-generator (name)

Returns a global instance of a generator.

You may also SETF this place to name specific generators of your own.

See MAKE-GENERATOR

Package

random-state.

Source

generator.lisp.

Function: (setf global-generator) (name)
Package

random-state.

Source

generator.lisp.

Function: hopefully-sufficiently-random-seed ()

Attempts to find a sufficiently random seed.

On Unix, this reads 64 bits from /dev/urandom
On Windows+SBCL, this reads 64 bits from SB-WIN32:CRYPT-GEN-RANDOM Otherwise it uses an XOR of GET-INTERNAL-REAL-TIME and GET-UNIVERSAL-TIME.

Package

random-state.

Source

toolkit.lisp.

Reader: index (instance)

Accesses the index of the hash-generator.

The index must be an (unsigned-byte 64).
The index is advanced for each call to NEXT-BYTE.

See HASH-GENERATOR

Package

random-state.

Source

generator.lisp.

Target Slot

index.

Writer: (setf index) (instance)
Package

random-state.

Source

generator.lisp.

Target Slot

index.

Function: list-generator-types ()

Lists the types of generators supported by the library.

You may use any of these types to call MAKE-GENERATOR with.

See MAKE-GENERATOR

Package

random-state.

Source

generator.lisp.

Function: make-generator (type &optional seed &rest initargs)

Creates a new generator of the given type.

You may pass an optional seed to initialise the generator with. If no seed is specified, each constructed generator of the same type will return the same sequence of numbers.

See RESEED
See GENERATOR

Package

random-state.

Source

generator.lisp.

Function: random (max &optional generator)
Package

random-state.

Source

protocol.lisp.

Function: random-1d (generator index &optional seed)

Returns a byte for the given index and seed.

This is only usable with HASH-GENERATOR types. Does *NOT* advance the generator’s index.

See HASH-GENERATOR
See NEXT-BYTE

Package

random-state.

Source

protocol.lisp.

Function: random-2d (generator x y &optional seed)

Returns a byte for the given location and seed.

This is only usable with HASH-GENERATOR types. Does *NOT* advance the generator’s index.

See HASH-GENERATOR
See NEXT-BYTE

Package

random-state.

Source

protocol.lisp.

Function: random-3d (generator x y z &optional seed)

Returns a byte for the given location and seed.

This is only usable with HASH-GENERATOR types. Does *NOT* advance the generator’s index.

See HASH-GENERATOR
See NEXT-BYTE

Package

random-state.

Source

protocol.lisp.

Function: random-byte (generator)

Alias for NEXT-BYTE.

See GENERATOR See NEXT-BYTE

Package

random-state.

Source

protocol.lisp.

Function: random-bytes (generator bits)

Returns an (UNSIGNED-BYTE BITS) sized random number.

May advance the generator more than once.

See GENERATOR
See NEXT-BYTE

Package

random-state.

Source

protocol.lisp.

Function: random-float (generator from to)

Returns a random float in [FROM, TO].

The returned float is of the same type as whatever type is larger between FROM and TO.

See GENERATOR
See RANDOM-UNIT

Package

random-state.

Source

protocol.lisp.

Function: random-int (generator from to)

Returns a random integer in [FROM, TO].

See GENERATOR
See RANDOM-BYTES

Package

random-state.

Source

protocol.lisp.

Function: random-sequence (generator sequence &key start end)

Fills SEQUENCE between START and END with random numbers.

Note: it is up to you to ensure that SEQUENCE is capable of holding numbers returned by the generator’s NEXT-BYTE, and that doing so makes sense. As in, do not fill a vector with element-type (unsigned-byte 8) with a generator whose BITS-PER-BYTE is 32 or vice-versa.

Equivalent to:

(map-into sequence (lambda () (next-byte generator)))

See GENERATOR
See NEXT-BYTE

Package

random-state.

Source

protocol.lisp.

Function: random-unit (generator &optional type)

Returns a random float in [0, 1].

The returned float is of the type specified in TYPE.

see GENERATOR
See RANDOM-BYTES

Package

random-state.

Source

protocol.lisp.


5.1.4 Generic functions

Generic Function: bits-per-byte (generator)

Returns the number of bits of randomness returned by the generator for each NEXT-BYTE call.

See NEXT-BYTE
See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: bits-per-byte ((generator random-state))
Source

implementation.lisp.

Method: bits-per-byte ((generator squirrel))
Source

squirrel.lisp.

Method: bits-per-byte ((generator kiss11))
Source

kiss.lisp.

Method: bits-per-byte ((generator tt800))
Source

tt800.lisp.

Method: bits-per-byte ((generator rc4))
Source

rc4.lisp.

Method: bits-per-byte ((generator pcg))
Source

pcg.lisp.

Method: bits-per-byte ((generator middle-square))
Source

middle-square.lisp.

Method: bits-per-byte ((generator mersenne-twister-64))
Source

mersenne-twister.lisp.

Method: bits-per-byte ((generator mersenne-twister-32))
Source

mersenne-twister.lisp.

Method: bits-per-byte ((generator linear-congruence))
Source

linear-congruence.lisp.

Method: bits-per-byte ((generator symbol))
Generic Function: copy (generator)

Creates a fresh copy of the given generator.

This copy will return an identical sequence of bytes as the
original. Meaning, the following invariant holds true:

(loop with copy = (copy generator) always (= (next-byte generator) (next-byte copy)))

See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: copy ((generator random-state))
Source

implementation.lisp.

Method: copy ((generator squirrel))
Source

squirrel.lisp.

Method: copy ((generator kiss11))
Source

kiss.lisp.

Method: copy ((generator tt800))
Source

tt800.lisp.

Method: copy ((generator rc4))
Source

rc4.lisp.

Method: copy ((generator pcg))
Source

pcg.lisp.

Method: copy ((generator middle-square))
Source

middle-square.lisp.

Method: copy ((generator mersenne-twister-64))
Source

mersenne-twister.lisp.

Method: copy ((generator mersenne-twister-32))
Source

mersenne-twister.lisp.

Method: copy ((generator linear-congruence))
Source

linear-congruence.lisp.

Method: copy ((generator symbol))
Generic Function: next-byte (generator)

Returns the next byte (not octet) of random state.

The returned integer must be in the range of
[ 0, 1 << BITS-PER-BYTE GENERATOR [

See RANDOM-INT
See RANDOM-BYTES
See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: next-byte ((generator random-state))
Source

implementation.lisp.

Method: next-byte ((generator squirrel))
Source

squirrel.lisp.

Method: next-byte ((generator kiss11))
Source

kiss.lisp.

Method: next-byte ((generator tt800))
Source

tt800.lisp.

Method: next-byte ((generator rc4))
Source

rc4.lisp.

Method: next-byte ((generator pcg))
Source

pcg.lisp.

Method: next-byte ((generator middle-square))
Source

middle-square.lisp.

Method: next-byte ((generator mersenne-twister-64))
Source

mersenne-twister.lisp.

Method: next-byte ((generator mersenne-twister-32))
Source

mersenne-twister.lisp.

Method: next-byte ((generator linear-congruence))
Source

linear-congruence.lisp.

Method: next-byte ((generator symbol))
Generic Function: reseed (generator new-seed)

Reset the RNG and seed it with the given seed number.

If T is passed for the new seed, a random seed as determined by HOPEFULLY-SUFFICIENTLY-RANDOM-SEED is used.

See HOPEFULLY-SUFFICIENTLY-RANDOM-SEED
See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: reseed ((generator random-state) seed)
Source

implementation.lisp.

Method: reseed ((generator kiss11) (new-seed integer))
Source

kiss.lisp.

Method: reseed ((generator tt800) (new-seed integer))
Source

tt800.lisp.

Method: reseed ((generator rc4) (new-seed integer))
Source

rc4.lisp.

Method: reseed ((generator pcg) (new-seed integer))
Source

pcg.lisp.

Method: reseed ((generator middle-square) (new-seed integer))
Source

middle-square.lisp.

Method: reseed ((generator mersenne-twister-64) (new-seed integer))
Source

mersenne-twister.lisp.

Method: reseed ((generator mersenne-twister-32) (new-seed integer))
Source

mersenne-twister.lisp.

Method: reseed ((generator linear-congruence) (new-seed integer))
Source

linear-congruence.lisp.

Method: reseed ((generator hash-generator) (seed integer))
Method: reseed ((generator generator) (new-seed (eql t)))
Method: reseed ((generator symbol) new-seed)
Generic Function: rewind (hash-generator &optional by)

Rewind the hash-generator by BY numbers.

The following invariant holds for any N:

(= (next-byte generator) (progn (rewind generator N) (loop repeat (1- N) (next-byte generator)) (next-byte generator)))

See HASH-GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: rewind ((generator hash-generator) &optional by)
Method: rewind ((hash-generator symbol) &optional by)
Generic Function: seed (generator)

Returns the seed that was used to initialise the generator.

See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: seed ((generator random-state))
Source

implementation.lisp.

Method: seed ((generator generator))
Method: seed ((generator symbol))

5.1.5 Standalone methods

Method: make-load-form ((object generator) &optional env)
Source

generator.lisp.

Method: print-object ((generator generator) stream)
Source

generator.lisp.


5.1.6 Structures

Structure: generator

General class for any random number generator.

See LIST-GENERATOR-TYPES
See SEED
See RESEED
See NEXT-BYTE
See BITS-PER-BYTE
See COPY
See MAKE-GENERATOR
See STATEFUL-GENERATOR
See HASH-GENERATOR

Package

random-state.

Source

generator.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct methods
Direct slots
Slot: %seed
Type

(unsigned-byte 64)

Initform

0

Readers

%seed.

Writers

(setf %seed).

Structure: hash-generator

Superclass for all generators that rely on a hashing function to generate numbers.

These generators are special in that numbers for any index can be
generated, so they can be rewound or arbitrarily stepped in their
sequence.

See GENERATOR
See INDEX
See REWIND

Package

random-state.

Source

generator.lisp.

Direct superclasses

generator.

Direct subclasses

squirrel.

Direct methods
Direct slots
Slot: index
Type

(unsigned-byte 64)

Initform

0

Readers

index.

Writers

(setf index).

Structure: kiss11
Package

random-state.

Source

kiss.lisp.

Direct superclasses

stateful-generator.

Direct methods
Direct slots
Slot: q
Type

(simple-array (unsigned-byte 32) (4194304))

Initform

(random-state::32bit-seed-array 4194304 0)

Readers

kiss11-q.

Writers

(setf kiss11-q).

Slot: carry
Type

(unsigned-byte 32)

Initform

0

Readers

kiss11-carry.

Writers

(setf kiss11-carry).

Slot: j
Type

(unsigned-byte 32)

Initform

4194303

Readers

kiss11-j.

Writers

(setf kiss11-j).

Slot: cng
Type

(unsigned-byte 32)

Initform

123456789

Readers

kiss11-cng.

Writers

(setf kiss11-cng).

Slot: xs
Type

(unsigned-byte 32)

Initform

362436069

Readers

kiss11-xs.

Writers

(setf kiss11-xs).

Structure: linear-congruence

A very simple random number generator based on linear congruence.

See https://en.wikipedia.org/wiki/Linear_congruential_generator

Package

random-state.

Source

linear-congruence.lisp.

Direct superclasses

stateful-generator.

Direct methods
Direct slots
Slot: state
Type

(unsigned-byte 64)

Initform

0

Readers

linear-congruence-state.

Writers

(setf linear-congruence-state).

Slot: multiplier
Type

(unsigned-byte 64)

Initform

6364136223846793005

Readers

linear-congruence-multiplier.

Writers

(setf linear-congruence-multiplier).

Slot: increment
Type

(unsigned-byte 64)

Initform

1442695040888963407

Readers

linear-congruence-increment.

Writers

(setf linear-congruence-increment).

Structure: mersenne-twister-32

The de-facto standard random number generator algorithm.

See https://en.wikipedia.org/wiki/Mersenne_Twister See http://www.acclab.helsinki.fi/~knordlun/mc/mt19937.c

Package

random-state.

Source

mersenne-twister.lisp.

Direct superclasses

mersenne-twister.

Direct methods
Direct slots
Slot: index
Type

(unsigned-byte 64)

Initform

624

Readers

mersenne-twister-32-index.

Writers

(setf mersenne-twister-32-index).

Slot: upper
Type

(unsigned-byte 32)

Initform

2147483648

Readers

mersenne-twister-32-upper.

Writers

(setf mersenne-twister-32-upper).

Slot: lower
Type

(unsigned-byte 32)

Initform

2147483647

Readers

mersenne-twister-32-lower.

Writers

(setf mersenne-twister-32-lower).

Slot: magic
Type

(simple-array (unsigned-byte 32) (2))

Initform

(random-state::barr 32 0 2567483615)

Readers

mersenne-twister-32-magic.

Writers

(setf mersenne-twister-32-magic).

Slot: matrix
Type

(simple-array (unsigned-byte 32) (624))

Initform

(make-array 624 :element-type (sb-int:quasiquote (unsigned-byte 32)))

Readers

mersenne-twister-32-matrix.

Writers

(setf mersenne-twister-32-matrix).

Structure: mersenne-twister-64

A 64 bit variant of the Mersenne Twister algorithm.

See MERSENNE-TWISTER-32
See http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/C-LANG/mt19937-64.c

Package

random-state.

Source

mersenne-twister.lisp.

Direct superclasses

mersenne-twister.

Direct methods
Direct slots
Slot: index
Type

(unsigned-byte 64)

Initform

312

Readers

mersenne-twister-64-index.

Writers

(setf mersenne-twister-64-index).

Slot: upper
Type

(unsigned-byte 64)

Initform

18446744071562067968

Readers

mersenne-twister-64-upper.

Writers

(setf mersenne-twister-64-upper).

Slot: lower
Type

(unsigned-byte 64)

Initform

2147483647

Readers

mersenne-twister-64-lower.

Writers

(setf mersenne-twister-64-lower).

Slot: magic
Type

(simple-array (unsigned-byte 64) (2))

Initform

(random-state::barr 64 0 13043109905998158313)

Readers

mersenne-twister-64-magic.

Writers

(setf mersenne-twister-64-magic).

Slot: matrix
Type

(simple-array (unsigned-byte 64) (312))

Initform

(make-array 312 :element-type (sb-int:quasiquote (unsigned-byte 64)))

Readers

mersenne-twister-64-matrix.

Writers

(setf mersenne-twister-64-matrix).

Structure: middle-square

An incredibly primitive, and basically in practise useless, random number algorithm.

See https://en.wikipedia.org/wiki/Middle-square_method

Package

random-state.

Source

middle-square.lisp.

Direct superclasses

stateful-generator.

Direct methods
Direct slots
Slot: bits
Initform

64

Readers

middle-square-bits.

Writers

(setf middle-square-bits).

Slot: state
Initform

0

Readers

middle-square-state.

Writers

(setf middle-square-state).

Structure: pcg

An adaptation of the PCG rng.

See http://www.pcg-random.org

Package

random-state.

Source

pcg.lisp.

Direct superclasses

stateful-generator.

Direct methods
Direct slots
Slot: state
Type

(unsigned-byte 64)

Initform

9600629759793949339

Readers

pcg-state.

Writers

(setf pcg-state).

Slot: inc
Type

(unsigned-byte 64)

Initform

15726070495360670683

Readers

pcg-inc.

Writers

(setf pcg-inc).

Structure: rc4

The RC4 cryptographic random number generator.

See https://en.wikipedia.org/wiki/RC4

Package

random-state.

Source

rc4.lisp.

Direct superclasses

stateful-generator.

Direct methods
Direct slots
Slot: index1
Type

(unsigned-byte 8)

Initform

0

Readers

rc4-index1.

Writers

(setf rc4-index1).

Slot: index2
Type

(unsigned-byte 8)

Initform

0

Readers

rc4-index2.

Writers

(setf rc4-index2).

Slot: state
Type

(simple-array (unsigned-byte 8) (256))

Initform

(make-array 256 :element-type (quote (unsigned-byte 8)))

Readers

rc4-state.

Writers

(setf rc4-state).

Structure: squirrel

An adaptation of the "squirrel hash v3".

See https://www.youtube.com/watch?v=LWFzPP8ZbdU

Package

random-state.

Source

squirrel.lisp.

Direct superclasses

hash-generator.

Direct methods
Structure: stateful-generator

Superclass for all generators that rely on state to produce random numbers.

See GENERATOR

Package

random-state.

Source

generator.lisp.

Direct superclasses

generator.

Direct subclasses
Direct methods

%make-generator.

Structure: tt800

The predecessor to the Mersenne Twister algorithm.

See http://random.mat.sbg.ac.at/publics/ftp/pub/data/tt800.c

Package

random-state.

Source

tt800.lisp.

Direct superclasses

stateful-generator.

Direct methods
Direct slots
Slot: magic
Type

(simple-array (unsigned-byte 32) (2))

Initform

(random-state::barr 32 0 2394935336)

Readers

tt800-magic.

Writers

(setf tt800-magic).

Slot: n
Type

(unsigned-byte 8)

Initform

25

Readers

tt800-n.

Writers

(setf tt800-n).

Slot: m
Type

(unsigned-byte 8)

Initform

7

Readers

tt800-m.

Writers

(setf tt800-m).

Slot: index
Type

(unsigned-byte 64)

Initform

0

Readers

tt800-index.

Writers

(setf tt800-index).

Slot: matrix
Type

(simple-array (unsigned-byte 32) (25))

Initform

(make-array 25 :element-type (sb-int:quasiquote (unsigned-byte 32)))

Readers

tt800-matrix.

Writers

(setf tt800-matrix).


5.2 Internals


5.2.1 Special variables

Special Variable: *generator-types*
Package

random-state.

Source

generator.lisp.

Special Variable: *generators*
Package

random-state.

Source

generator.lisp.


5.2.2 Macros

Macro: %inner-mersenne-twister (bytes n m upper lower matrix magic &rest shiftops)
Package

random-state.

Source

mersenne-twister.lisp.

Macro: define-generator-fun (name (gen &rest args))
Package

random-state.

Source

generator.lisp.

Macro: incfmod (place mod &optional delta)
Package

random-state.

Source

toolkit.lisp.

Macro: update (bits place op &rest args)
Package

random-state.

Source

toolkit.lisp.


5.2.3 Compiler macros

Compiler Macro: fit-bits (bits x)
Package

random-state.

Source

toolkit.lisp.

Compiler Macro: hash (hash-generator index seed)
Package

random-state.

Source

generator.lisp.


5.2.4 Ordinary functions

Reader: %seed (instance)
Writer: (setf %seed) (instance)
Package

random-state.

Source

generator.lisp.

Target Slot

%seed.

Function: 32bit-seed-array (size seed)
Package

random-state.

Source

toolkit.lisp.

Function: 64bit-seed-array (size seed)
Package

random-state.

Source

toolkit.lisp.

Function: barr (bytes &rest contents)
Package

random-state.

Source

toolkit.lisp.

Function: byte-array-to-int (array)
Package

random-state.

Source

toolkit.lisp.

Function: copy-kiss11 (instance)
Package

random-state.

Source

kiss.lisp.

Function: copy-linear-congruence (instance)
Package

random-state.

Source

linear-congruence.lisp.

Function: copy-mersenne-twister (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Function: copy-mersenne-twister-32 (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Function: copy-mersenne-twister-64 (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Function: copy-middle-square (instance)
Package

random-state.

Source

middle-square.lisp.

Function: copy-pcg (instance)
Package

random-state.

Source

pcg.lisp.

Function: copy-rc4 (instance)
Package

random-state.

Source

rc4.lisp.

Function: copy-squirrel (instance)
Package

random-state.

Source

squirrel.lisp.

Function: copy-tt800 (instance)
Package

random-state.

Source

tt800.lisp.

Function: fit-bits (bits x)
Package

random-state.

Source

toolkit.lisp.

Function: generator-p (object)
Package

random-state.

Source

generator.lisp.

Function: intern* (&rest args)
Package

random-state.

Source

toolkit.lisp.

Function: kiss11-%seed (instance)
Package

random-state.

Source

kiss.lisp.

Function: (setf kiss11-%seed) (instance)
Package

random-state.

Source

kiss.lisp.

Reader: kiss11-carry (instance)
Writer: (setf kiss11-carry) (instance)
Package

random-state.

Source

kiss.lisp.

Target Slot

carry.

Reader: kiss11-cng (instance)
Writer: (setf kiss11-cng) (instance)
Package

random-state.

Source

kiss.lisp.

Target Slot

cng.

Reader: kiss11-j (instance)
Writer: (setf kiss11-j) (instance)
Package

random-state.

Source

kiss.lisp.

Target Slot

j.

Function: kiss11-next (generator)
Package

random-state.

Source

kiss.lisp.

Reader: kiss11-q (instance)
Writer: (setf kiss11-q) (instance)
Package

random-state.

Source

kiss.lisp.

Target Slot

q.

Function: kiss11-reseed (generator seed)
Package

random-state.

Source

kiss.lisp.

Reader: kiss11-xs (instance)
Writer: (setf kiss11-xs) (instance)
Package

random-state.

Source

kiss.lisp.

Target Slot

xs.

Function: linear-congruence-%seed (instance)
Package

random-state.

Source

linear-congruence.lisp.

Function: (setf linear-congruence-%seed) (instance)
Package

random-state.

Source

linear-congruence.lisp.

Reader: linear-congruence-increment (instance)
Writer: (setf linear-congruence-increment) (instance)
Package

random-state.

Source

linear-congruence.lisp.

Target Slot

increment.

Reader: linear-congruence-multiplier (instance)
Writer: (setf linear-congruence-multiplier) (instance)
Package

random-state.

Source

linear-congruence.lisp.

Target Slot

multiplier.

Function: linear-congruence-next (generator)
Package

random-state.

Source

linear-congruence.lisp.

Function: linear-congruence-reseed (generator seed)
Package

random-state.

Source

linear-congruence.lisp.

Reader: linear-congruence-state (instance)
Writer: (setf linear-congruence-state) (instance)
Package

random-state.

Source

linear-congruence.lisp.

Target Slot

state.

Function: make-kiss11 (&key %seed q carry j cng xs)
Package

random-state.

Source

kiss.lisp.

Function: make-linear-congruence (&key %seed state multiplier increment)
Package

random-state.

Source

linear-congruence.lisp.

Function: make-mersenne-twister-32 (&key %seed index upper lower magic matrix)
Package

random-state.

Source

mersenne-twister.lisp.

Function: make-mersenne-twister-64 (&key %seed index upper lower magic matrix)
Package

random-state.

Source

mersenne-twister.lisp.

Function: make-middle-square (&key %seed bits state)
Package

random-state.

Source

middle-square.lisp.

Function: make-pcg (&key %seed state inc)
Package

random-state.

Source

pcg.lisp.

Function: make-rc4 (&key %seed index1 index2 state)
Package

random-state.

Source

rc4.lisp.

Function: make-squirrel (&key %seed index)
Package

random-state.

Source

squirrel.lisp.

Function: make-tt800 (&key %seed magic n m index matrix)
Package

random-state.

Source

tt800.lisp.

Function: mersenne-twister-%seed (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Function: (setf mersenne-twister-%seed) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Function: mersenne-twister-32-%seed (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Function: (setf mersenne-twister-32-%seed) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Reader: mersenne-twister-32-index (instance)
Writer: (setf mersenne-twister-32-index) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

index.

Reader: mersenne-twister-32-lower (instance)
Writer: (setf mersenne-twister-32-lower) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

lower.

Reader: mersenne-twister-32-magic (instance)
Writer: (setf mersenne-twister-32-magic) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

magic.

Reader: mersenne-twister-32-matrix (instance)
Writer: (setf mersenne-twister-32-matrix) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

matrix.

Function: mersenne-twister-32-next (generator)
Package

random-state.

Source

mersenne-twister.lisp.

Function: mersenne-twister-32-reseed (generator seed)
Package

random-state.

Source

mersenne-twister.lisp.

Reader: mersenne-twister-32-upper (instance)
Writer: (setf mersenne-twister-32-upper) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

upper.

Function: mersenne-twister-64-%seed (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Function: (setf mersenne-twister-64-%seed) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Reader: mersenne-twister-64-index (instance)
Writer: (setf mersenne-twister-64-index) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

index.

Reader: mersenne-twister-64-lower (instance)
Writer: (setf mersenne-twister-64-lower) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

lower.

Reader: mersenne-twister-64-magic (instance)
Writer: (setf mersenne-twister-64-magic) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

magic.

Reader: mersenne-twister-64-matrix (instance)
Writer: (setf mersenne-twister-64-matrix) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

matrix.

Function: mersenne-twister-64-next (generator)
Package

random-state.

Source

mersenne-twister.lisp.

Function: mersenne-twister-64-reseed (generator seed)
Package

random-state.

Source

mersenne-twister.lisp.

Reader: mersenne-twister-64-upper (instance)
Writer: (setf mersenne-twister-64-upper) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

upper.

Reader: mersenne-twister-index (instance)
Writer: (setf mersenne-twister-index) (instance)
Package

random-state.

Source

mersenne-twister.lisp.

Target Slot

index.

Function: middle-square-%seed (instance)
Package

random-state.

Source

middle-square.lisp.

Function: (setf middle-square-%seed) (instance)
Package

random-state.

Source

middle-square.lisp.

Reader: middle-square-bits (instance)
Writer: (setf middle-square-bits) (instance)
Package

random-state.

Source

middle-square.lisp.

Target Slot

bits.

Function: middle-square-next (generator)
Package

random-state.

Source

middle-square.lisp.

Function: middle-square-reseed (generator seed)
Package

random-state.

Source

middle-square.lisp.

Reader: middle-square-state (instance)
Writer: (setf middle-square-state) (instance)
Package

random-state.

Source

middle-square.lisp.

Target Slot

state.

Function: pcg-%seed (instance)
Package

random-state.

Source

pcg.lisp.

Function: (setf pcg-%seed) (instance)
Package

random-state.

Source

pcg.lisp.

Reader: pcg-inc (instance)
Writer: (setf pcg-inc) (instance)
Package

random-state.

Source

pcg.lisp.

Target Slot

inc.

Function: pcg-next (generator)
Package

random-state.

Source

pcg.lisp.

Function: pcg-reseed (generator seed)
Package

random-state.

Source

pcg.lisp.

Reader: pcg-state (instance)
Writer: (setf pcg-state) (instance)
Package

random-state.

Source

pcg.lisp.

Target Slot

state.

Function: rc4-%seed (instance)
Package

random-state.

Source

rc4.lisp.

Function: (setf rc4-%seed) (instance)
Package

random-state.

Source

rc4.lisp.

Reader: rc4-index1 (instance)
Writer: (setf rc4-index1) (instance)
Package

random-state.

Source

rc4.lisp.

Target Slot

index1.

Reader: rc4-index2 (instance)
Writer: (setf rc4-index2) (instance)
Package

random-state.

Source

rc4.lisp.

Target Slot

index2.

Function: rc4-next (generator)
Package

random-state.

Source

rc4.lisp.

Function: rc4-reseed (generator seed)
Package

random-state.

Source

rc4.lisp.

Reader: rc4-state (instance)
Writer: (setf rc4-state) (instance)
Package

random-state.

Source

rc4.lisp.

Target Slot

state.

Function: squirrel-%seed (instance)
Package

random-state.

Source

squirrel.lisp.

Function: (setf squirrel-%seed) (instance)
Package

random-state.

Source

squirrel.lisp.

Function: squirrel-hash (index seed)
Package

random-state.

Source

squirrel.lisp.

Function: squirrel-index (instance)
Package

random-state.

Source

squirrel.lisp.

Function: (setf squirrel-index) (instance)
Package

random-state.

Source

squirrel.lisp.

Function: squirrel-next (generator)
Package

random-state.

Source

squirrel.lisp.

Function: stateful-generator-%seed (instance)
Package

random-state.

Source

generator.lisp.

Function: (setf stateful-generator-%seed) (instance)
Package

random-state.

Source

generator.lisp.

Function: tt800-%seed (instance)
Package

random-state.

Source

tt800.lisp.

Function: (setf tt800-%seed) (instance)
Package

random-state.

Source

tt800.lisp.

Reader: tt800-index (instance)
Writer: (setf tt800-index) (instance)
Package

random-state.

Source

tt800.lisp.

Target Slot

index.

Reader: tt800-m (instance)
Writer: (setf tt800-m) (instance)
Package

random-state.

Source

tt800.lisp.

Target Slot

m.

Reader: tt800-magic (instance)
Writer: (setf tt800-magic) (instance)
Package

random-state.

Source

tt800.lisp.

Target Slot

magic.

Reader: tt800-matrix (instance)
Writer: (setf tt800-matrix) (instance)
Package

random-state.

Source

tt800.lisp.

Target Slot

matrix.

Reader: tt800-n (instance)
Writer: (setf tt800-n) (instance)
Package

random-state.

Source

tt800.lisp.

Target Slot

n.

Function: tt800-next (generator)
Package

random-state.

Source

tt800.lisp.

Function: tt800-reseed (generator seed)
Package

random-state.

Source

tt800.lisp.


5.2.5 Generic functions

Generic Function: %make-generator (type &key &allow-other-keys)
Package

random-state.

Source

generator.lisp.

Methods
Method: %make-generator ((type (eql random-state)) &key)
Source

implementation.lisp.

Method: %make-generator ((type (eql random-state:squirrel)) &rest initargs &key &allow-other-keys)
Source

squirrel.lisp.

Method: %make-generator ((type (eql random-state:kiss11)) &rest initargs &key &allow-other-keys)
Source

kiss.lisp.

Method: %make-generator ((type (eql random-state:tt800)) &rest initargs &key &allow-other-keys)
Source

tt800.lisp.

Method: %make-generator ((type (eql random-state:rc4)) &rest initargs &key &allow-other-keys)
Source

rc4.lisp.

Method: %make-generator ((type (eql random-state:pcg)) &rest initargs &key &allow-other-keys)
Source

pcg.lisp.

Method: %make-generator ((type (eql random-state:middle-square)) &rest initargs &key &allow-other-keys)
Source

middle-square.lisp.

Method: %make-generator ((type (eql random-state:mersenne-twister-64)) &rest initargs &key &allow-other-keys)
Source

mersenne-twister.lisp.

Method: %make-generator ((type (eql random-state:mersenne-twister-32)) &rest initargs &key &allow-other-keys)
Source

mersenne-twister.lisp.

Method: %make-generator ((type (eql random-state:linear-congruence)) &rest initargs &key &allow-other-keys)
Source

linear-congruence.lisp.

Method: %make-generator ((type symbol) &rest args)
Method: %make-generator :around ((type stateful-generator) &key)
Generic Function: hash (hash-generator index seed)
Package

random-state.

Source

generator.lisp.

Methods
Method: hash ((generator squirrel) index seed)
Source

squirrel.lisp.

Method: hash ((hash-generator symbol) index seed)

5.2.6 Structures

Structure: mersenne-twister
Package

random-state.

Source

mersenne-twister.lisp.

Direct superclasses

stateful-generator.

Direct subclasses
Direct slots
Slot: index
Type

(unsigned-byte 64)

Initform

0

Readers

mersenne-twister-index.

Writers

(setf mersenne-twister-index).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   3   6  
B   C   D   E   F   G   H   I   K   L   M   N   P   R   S   T   U  
Index Entry  Section

%
%inner-mersenne-twister: Private macros
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%make-generator: Private generic functions
%seed: Private ordinary functions

(
(setf %seed): Private ordinary functions
(setf global-generator): Public ordinary functions
(setf index): Public ordinary functions
(setf kiss11-%seed): Private ordinary functions
(setf kiss11-carry): Private ordinary functions
(setf kiss11-cng): Private ordinary functions
(setf kiss11-j): Private ordinary functions
(setf kiss11-q): Private ordinary functions
(setf kiss11-xs): Private ordinary functions
(setf linear-congruence-%seed): Private ordinary functions
(setf linear-congruence-increment): Private ordinary functions
(setf linear-congruence-multiplier): Private ordinary functions
(setf linear-congruence-state): Private ordinary functions
(setf mersenne-twister-%seed): Private ordinary functions
(setf mersenne-twister-32-%seed): Private ordinary functions
(setf mersenne-twister-32-index): Private ordinary functions
(setf mersenne-twister-32-lower): Private ordinary functions
(setf mersenne-twister-32-magic): Private ordinary functions
(setf mersenne-twister-32-matrix): Private ordinary functions
(setf mersenne-twister-32-upper): Private ordinary functions
(setf mersenne-twister-64-%seed): Private ordinary functions
(setf mersenne-twister-64-index): Private ordinary functions
(setf mersenne-twister-64-lower): Private ordinary functions
(setf mersenne-twister-64-magic): Private ordinary functions
(setf mersenne-twister-64-matrix): Private ordinary functions
(setf mersenne-twister-64-upper): Private ordinary functions
(setf mersenne-twister-index): Private ordinary functions
(setf middle-square-%seed): Private ordinary functions
(setf middle-square-bits): Private ordinary functions
(setf middle-square-state): Private ordinary functions
(setf pcg-%seed): Private ordinary functions
(setf pcg-inc): Private ordinary functions
(setf pcg-state): Private ordinary functions
(setf rc4-%seed): Private ordinary functions
(setf rc4-index1): Private ordinary functions
(setf rc4-index2): Private ordinary functions
(setf rc4-state): Private ordinary functions
(setf squirrel-%seed): Private ordinary functions
(setf squirrel-index): Private ordinary functions
(setf stateful-generator-%seed): Private ordinary functions
(setf tt800-%seed): Private ordinary functions
(setf tt800-index): Private ordinary functions
(setf tt800-m): Private ordinary functions
(setf tt800-magic): Private ordinary functions
(setf tt800-matrix): Private ordinary functions
(setf tt800-n): Private ordinary functions

3
32bit-seed-array: Private ordinary functions

6
64bit-seed-array: Private ordinary functions

B
barr: Private ordinary functions
bits-per-byte: Public compiler macros
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
bits-per-byte: Public generic functions
byte-array-to-int: Private ordinary functions

C
Compiler Macro, bits-per-byte: Public compiler macros
Compiler Macro, copy: Public compiler macros
Compiler Macro, ensure-generator: Public compiler macros
Compiler Macro, fit-bits: Private compiler macros
Compiler Macro, global-generator: Public compiler macros
Compiler Macro, hash: Private compiler macros
Compiler Macro, next-byte: Public compiler macros
Compiler Macro, random-float: Public compiler macros
Compiler Macro, random-unit: Public compiler macros
Compiler Macro, reseed: Public compiler macros
Compiler Macro, rewind: Public compiler macros
Compiler Macro, seed: Public compiler macros
copy: Public compiler macros
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy: Public generic functions
copy-kiss11: Private ordinary functions
copy-linear-congruence: Private ordinary functions
copy-mersenne-twister: Private ordinary functions
copy-mersenne-twister-32: Private ordinary functions
copy-mersenne-twister-64: Private ordinary functions
copy-middle-square: Private ordinary functions
copy-pcg: Private ordinary functions
copy-rc4: Private ordinary functions
copy-squirrel: Private ordinary functions
copy-tt800: Private ordinary functions

D
define-generator: Public macros
define-generator-fun: Private macros

E
ensure-generator: Public compiler macros
ensure-generator: Public ordinary functions

F
fit-bits: Private compiler macros
fit-bits: Private ordinary functions
Function, %seed: Private ordinary functions
Function, (setf %seed): Private ordinary functions
Function, (setf global-generator): Public ordinary functions
Function, (setf index): Public ordinary functions
Function, (setf kiss11-%seed): Private ordinary functions
Function, (setf kiss11-carry): Private ordinary functions
Function, (setf kiss11-cng): Private ordinary functions
Function, (setf kiss11-j): Private ordinary functions
Function, (setf kiss11-q): Private ordinary functions
Function, (setf kiss11-xs): Private ordinary functions
Function, (setf linear-congruence-%seed): Private ordinary functions
Function, (setf linear-congruence-increment): Private ordinary functions
Function, (setf linear-congruence-multiplier): Private ordinary functions
Function, (setf linear-congruence-state): Private ordinary functions
Function, (setf mersenne-twister-%seed): Private ordinary functions
Function, (setf mersenne-twister-32-%seed): Private ordinary functions
Function, (setf mersenne-twister-32-index): Private ordinary functions
Function, (setf mersenne-twister-32-lower): Private ordinary functions
Function, (setf mersenne-twister-32-magic): Private ordinary functions
Function, (setf mersenne-twister-32-matrix): Private ordinary functions
Function, (setf mersenne-twister-32-upper): Private ordinary functions
Function, (setf mersenne-twister-64-%seed): Private ordinary functions
Function, (setf mersenne-twister-64-index): Private ordinary functions
Function, (setf mersenne-twister-64-lower): Private ordinary functions
Function, (setf mersenne-twister-64-magic): Private ordinary functions
Function, (setf mersenne-twister-64-matrix): Private ordinary functions
Function, (setf mersenne-twister-64-upper): Private ordinary functions
Function, (setf mersenne-twister-index): Private ordinary functions
Function, (setf middle-square-%seed): Private ordinary functions
Function, (setf middle-square-bits): Private ordinary functions
Function, (setf middle-square-state): Private ordinary functions
Function, (setf pcg-%seed): Private ordinary functions
Function, (setf pcg-inc): Private ordinary functions
Function, (setf pcg-state): Private ordinary functions
Function, (setf rc4-%seed): Private ordinary functions
Function, (setf rc4-index1): Private ordinary functions
Function, (setf rc4-index2): Private ordinary functions
Function, (setf rc4-state): Private ordinary functions
Function, (setf squirrel-%seed): Private ordinary functions
Function, (setf squirrel-index): Private ordinary functions
Function, (setf stateful-generator-%seed): Private ordinary functions
Function, (setf tt800-%seed): Private ordinary functions
Function, (setf tt800-index): Private ordinary functions
Function, (setf tt800-m): Private ordinary functions
Function, (setf tt800-magic): Private ordinary functions
Function, (setf tt800-matrix): Private ordinary functions
Function, (setf tt800-n): Private ordinary functions
Function, 32bit-seed-array: Private ordinary functions
Function, 64bit-seed-array: Private ordinary functions
Function, barr: Private ordinary functions
Function, byte-array-to-int: Private ordinary functions
Function, copy-kiss11: Private ordinary functions
Function, copy-linear-congruence: Private ordinary functions
Function, copy-mersenne-twister: Private ordinary functions
Function, copy-mersenne-twister-32: Private ordinary functions
Function, copy-mersenne-twister-64: Private ordinary functions
Function, copy-middle-square: Private ordinary functions
Function, copy-pcg: Private ordinary functions
Function, copy-rc4: Private ordinary functions
Function, copy-squirrel: Private ordinary functions
Function, copy-tt800: Private ordinary functions
Function, ensure-generator: Public ordinary functions
Function, fit-bits: Private ordinary functions
Function, generator-p: Private ordinary functions
Function, global-generator: Public ordinary functions
Function, hopefully-sufficiently-random-seed: Public ordinary functions
Function, index: Public ordinary functions
Function, intern*: Private ordinary functions
Function, kiss11-%seed: Private ordinary functions
Function, kiss11-carry: Private ordinary functions
Function, kiss11-cng: Private ordinary functions
Function, kiss11-j: Private ordinary functions
Function, kiss11-next: Private ordinary functions
Function, kiss11-q: Private ordinary functions
Function, kiss11-reseed: Private ordinary functions
Function, kiss11-xs: Private ordinary functions
Function, linear-congruence-%seed: Private ordinary functions
Function, linear-congruence-increment: Private ordinary functions
Function, linear-congruence-multiplier: Private ordinary functions
Function, linear-congruence-next: Private ordinary functions
Function, linear-congruence-reseed: Private ordinary functions
Function, linear-congruence-state: Private ordinary functions
Function, list-generator-types: Public ordinary functions
Function, make-generator: Public ordinary functions
Function, make-kiss11: Private ordinary functions
Function, make-linear-congruence: Private ordinary functions
Function, make-mersenne-twister-32: Private ordinary functions
Function, make-mersenne-twister-64: Private ordinary functions
Function, make-middle-square: Private ordinary functions
Function, make-pcg: Private ordinary functions
Function, make-rc4: Private ordinary functions
Function, make-squirrel: Private ordinary functions
Function, make-tt800: Private ordinary functions
Function, mersenne-twister-%seed: Private ordinary functions
Function, mersenne-twister-32-%seed: Private ordinary functions
Function, mersenne-twister-32-index: Private ordinary functions
Function, mersenne-twister-32-lower: Private ordinary functions
Function, mersenne-twister-32-magic: Private ordinary functions
Function, mersenne-twister-32-matrix: Private ordinary functions
Function, mersenne-twister-32-next: Private ordinary functions
Function, mersenne-twister-32-reseed: Private ordinary functions
Function, mersenne-twister-32-upper: Private ordinary functions
Function, mersenne-twister-64-%seed: Private ordinary functions
Function, mersenne-twister-64-index: Private ordinary functions
Function, mersenne-twister-64-lower: Private ordinary functions
Function, mersenne-twister-64-magic: Private ordinary functions
Function, mersenne-twister-64-matrix: Private ordinary functions
Function, mersenne-twister-64-next: Private ordinary functions
Function, mersenne-twister-64-reseed: Private ordinary functions
Function, mersenne-twister-64-upper: Private ordinary functions
Function, mersenne-twister-index: Private ordinary functions
Function, middle-square-%seed: Private ordinary functions
Function, middle-square-bits: Private ordinary functions
Function, middle-square-next: Private ordinary functions
Function, middle-square-reseed: Private ordinary functions
Function, middle-square-state: Private ordinary functions
Function, pcg-%seed: Private ordinary functions
Function, pcg-inc: Private ordinary functions
Function, pcg-next: Private ordinary functions
Function, pcg-reseed: Private ordinary functions
Function, pcg-state: Private ordinary functions
Function, random: Public ordinary functions
Function, random-1d: Public ordinary functions
Function, random-2d: Public ordinary functions
Function, random-3d: Public ordinary functions
Function, random-byte: Public ordinary functions
Function, random-bytes: Public ordinary functions
Function, random-float: Public ordinary functions
Function, random-int: Public ordinary functions
Function, random-sequence: Public ordinary functions
Function, random-unit: Public ordinary functions
Function, rc4-%seed: Private ordinary functions
Function, rc4-index1: Private ordinary functions
Function, rc4-index2: Private ordinary functions
Function, rc4-next: Private ordinary functions
Function, rc4-reseed: Private ordinary functions
Function, rc4-state: Private ordinary functions
Function, squirrel-%seed: Private ordinary functions
Function, squirrel-hash: Private ordinary functions
Function, squirrel-index: Private ordinary functions
Function, squirrel-next: Private ordinary functions
Function, stateful-generator-%seed: Private ordinary functions
Function, tt800-%seed: Private ordinary functions
Function, tt800-index: Private ordinary functions
Function, tt800-m: Private ordinary functions
Function, tt800-magic: Private ordinary functions
Function, tt800-matrix: Private ordinary functions
Function, tt800-n: Private ordinary functions
Function, tt800-next: Private ordinary functions
Function, tt800-reseed: Private ordinary functions

G
generator-p: Private ordinary functions
Generic Function, %make-generator: Private generic functions
Generic Function, bits-per-byte: Public generic functions
Generic Function, copy: Public generic functions
Generic Function, hash: Private generic functions
Generic Function, next-byte: Public generic functions
Generic Function, reseed: Public generic functions
Generic Function, rewind: Public generic functions
Generic Function, seed: Public generic functions
global-generator: Public compiler macros
global-generator: Public ordinary functions

H
hash: Private compiler macros
hash: Private generic functions
hash: Private generic functions
hash: Private generic functions
hopefully-sufficiently-random-seed: Public ordinary functions

I
incfmod: Private macros
index: Public ordinary functions
intern*: Private ordinary functions

K
kiss11-%seed: Private ordinary functions
kiss11-carry: Private ordinary functions
kiss11-cng: Private ordinary functions
kiss11-j: Private ordinary functions
kiss11-next: Private ordinary functions
kiss11-q: Private ordinary functions
kiss11-reseed: Private ordinary functions
kiss11-xs: Private ordinary functions

L
linear-congruence-%seed: Private ordinary functions
linear-congruence-increment: Private ordinary functions
linear-congruence-multiplier: Private ordinary functions
linear-congruence-next: Private ordinary functions
linear-congruence-reseed: Private ordinary functions
linear-congruence-state: Private ordinary functions
list-generator-types: Public ordinary functions

M
Macro, %inner-mersenne-twister: Private macros
Macro, define-generator: Public macros
Macro, define-generator-fun: Private macros
Macro, incfmod: Private macros
Macro, update: Private macros
make-generator: Public ordinary functions
make-kiss11: Private ordinary functions
make-linear-congruence: Private ordinary functions
make-load-form: Public standalone methods
make-mersenne-twister-32: Private ordinary functions
make-mersenne-twister-64: Private ordinary functions
make-middle-square: Private ordinary functions
make-pcg: Private ordinary functions
make-rc4: Private ordinary functions
make-squirrel: Private ordinary functions
make-tt800: Private ordinary functions
mersenne-twister-%seed: Private ordinary functions
mersenne-twister-32-%seed: Private ordinary functions
mersenne-twister-32-index: Private ordinary functions
mersenne-twister-32-lower: Private ordinary functions
mersenne-twister-32-magic: Private ordinary functions
mersenne-twister-32-matrix: Private ordinary functions
mersenne-twister-32-next: Private ordinary functions
mersenne-twister-32-reseed: Private ordinary functions
mersenne-twister-32-upper: Private ordinary functions
mersenne-twister-64-%seed: Private ordinary functions
mersenne-twister-64-index: Private ordinary functions
mersenne-twister-64-lower: Private ordinary functions
mersenne-twister-64-magic: Private ordinary functions
mersenne-twister-64-matrix: Private ordinary functions
mersenne-twister-64-next: Private ordinary functions
mersenne-twister-64-reseed: Private ordinary functions
mersenne-twister-64-upper: Private ordinary functions
mersenne-twister-index: Private ordinary functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, %make-generator: Private generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, bits-per-byte: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, copy: Public generic functions
Method, hash: Private generic functions
Method, hash: Private generic functions
Method, make-load-form: Public standalone methods
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, next-byte: Public generic functions
Method, print-object: Public standalone methods
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, reseed: Public generic functions
Method, rewind: Public generic functions
Method, rewind: Public generic functions
Method, seed: Public generic functions
Method, seed: Public generic functions
Method, seed: Public generic functions
middle-square-%seed: Private ordinary functions
middle-square-bits: Private ordinary functions
middle-square-next: Private ordinary functions
middle-square-reseed: Private ordinary functions
middle-square-state: Private ordinary functions

N
next-byte: Public compiler macros
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions
next-byte: Public generic functions

P
pcg-%seed: Private ordinary functions
pcg-inc: Private ordinary functions
pcg-next: Private ordinary functions
pcg-reseed: Private ordinary functions
pcg-state: Private ordinary functions
print-object: Public standalone methods

R
random: Public ordinary functions
random-1d: Public ordinary functions
random-2d: Public ordinary functions
random-3d: Public ordinary functions
random-byte: Public ordinary functions
random-bytes: Public ordinary functions
random-float: Public compiler macros
random-float: Public ordinary functions
random-int: Public ordinary functions
random-sequence: Public ordinary functions
random-unit: Public compiler macros
random-unit: Public ordinary functions
rc4-%seed: Private ordinary functions
rc4-index1: Private ordinary functions
rc4-index2: Private ordinary functions
rc4-next: Private ordinary functions
rc4-reseed: Private ordinary functions
rc4-state: Private ordinary functions
reseed: Public compiler macros
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
reseed: Public generic functions
rewind: Public compiler macros
rewind: Public generic functions
rewind: Public generic functions
rewind: Public generic functions

S
seed: Public compiler macros
seed: Public generic functions
seed: Public generic functions
seed: Public generic functions
seed: Public generic functions
squirrel-%seed: Private ordinary functions
squirrel-hash: Private ordinary functions
squirrel-index: Private ordinary functions
squirrel-next: Private ordinary functions
stateful-generator-%seed: Private ordinary functions

T
tt800-%seed: Private ordinary functions
tt800-index: Private ordinary functions
tt800-m: Private ordinary functions
tt800-magic: Private ordinary functions
tt800-matrix: Private ordinary functions
tt800-n: Private ordinary functions
tt800-next: Private ordinary functions
tt800-reseed: Private ordinary functions

U
update: Private macros


A.3 Variables

Jump to:   %   *  
B   C   I   J   L   M   N   Q   S   U   X  
Index Entry  Section

%
%seed: Public structures

*
*generator-types*: Private special variables
*generators*: Private special variables

B
bits: Public structures

C
carry: Public structures
cng: Public structures

I
inc: Public structures
increment: Public structures
index: Public structures
index: Public structures
index: Public structures
index: Public structures
index: Private structures
index1: Public structures
index2: Public structures

J
j: Public structures

L
lower: Public structures
lower: Public structures

M
m: Public structures
magic: Public structures
magic: Public structures
magic: Public structures
matrix: Public structures
matrix: Public structures
matrix: Public structures
multiplier: Public structures

N
n: Public structures

Q
q: Public structures

S
Slot, %seed: Public structures
Slot, bits: Public structures
Slot, carry: Public structures
Slot, cng: Public structures
Slot, inc: Public structures
Slot, increment: Public structures
Slot, index: Public structures
Slot, index: Public structures
Slot, index: Public structures
Slot, index: Public structures
Slot, index: Private structures
Slot, index1: Public structures
Slot, index2: Public structures
Slot, j: Public structures
Slot, lower: Public structures
Slot, lower: Public structures
Slot, m: Public structures
Slot, magic: Public structures
Slot, magic: Public structures
Slot, magic: Public structures
Slot, matrix: Public structures
Slot, matrix: Public structures
Slot, matrix: Public structures
Slot, multiplier: Public structures
Slot, n: Public structures
Slot, q: Public structures
Slot, state: Public structures
Slot, state: Public structures
Slot, state: Public structures
Slot, state: Public structures
Slot, upper: Public structures
Slot, upper: Public structures
Slot, xs: Public structures
Special Variable, *generator-types*: Private special variables
Special Variable, *generators*: Private special variables
state: Public structures
state: Public structures
state: Public structures
state: Public structures

U
upper: Public structures
upper: Public structures

X
xs: Public structures


A.4 Data types

Jump to:   D   F   G   H   I   K   L   M   P   R   S   T  
Index Entry  Section

D
documentation.lisp: The random-state/documentation․lisp file

F
File, documentation.lisp: The random-state/documentation․lisp file
File, generator.lisp: The random-state/generator․lisp file
File, implementation.lisp: The random-state/implementation․lisp file
File, kiss.lisp: The random-state/kiss․lisp file
File, linear-congruence.lisp: The random-state/linear-congruence․lisp file
File, mersenne-twister.lisp: The random-state/mersenne-twister․lisp file
File, middle-square.lisp: The random-state/middle-square․lisp file
File, package.lisp: The random-state/package․lisp file
File, pcg.lisp: The random-state/pcg․lisp file
File, protocol.lisp: The random-state/protocol․lisp file
File, random-state.asd: The random-state/random-state․asd file
File, rc4.lisp: The random-state/rc4․lisp file
File, squirrel.lisp: The random-state/squirrel․lisp file
File, toolkit.lisp: The random-state/toolkit․lisp file
File, tt800.lisp: The random-state/tt800․lisp file

G
generator: Public structures
generator.lisp: The random-state/generator․lisp file

H
hash-generator: Public structures

I
implementation.lisp: The random-state/implementation․lisp file

K
kiss.lisp: The random-state/kiss․lisp file
kiss11: Public structures

L
linear-congruence: Public structures
linear-congruence.lisp: The random-state/linear-congruence․lisp file

M
mersenne-twister: Private structures
mersenne-twister-32: Public structures
mersenne-twister-64: Public structures
mersenne-twister.lisp: The random-state/mersenne-twister․lisp file
middle-square: Public structures
middle-square.lisp: The random-state/middle-square․lisp file

P
Package, random-state: The random-state package
package.lisp: The random-state/package․lisp file
pcg: Public structures
pcg.lisp: The random-state/pcg․lisp file
protocol.lisp: The random-state/protocol․lisp file

R
random-state: The random-state system
random-state: The random-state package
random-state.asd: The random-state/random-state․asd file
rc4: Public structures
rc4.lisp: The random-state/rc4․lisp file

S
squirrel: Public structures
squirrel.lisp: The random-state/squirrel․lisp file
stateful-generator: Public structures
Structure, generator: Public structures
Structure, hash-generator: Public structures
Structure, kiss11: Public structures
Structure, linear-congruence: Public structures
Structure, mersenne-twister: Private structures
Structure, mersenne-twister-32: Public structures
Structure, mersenne-twister-64: Public structures
Structure, middle-square: Public structures
Structure, pcg: Public structures
Structure, rc4: Public structures
Structure, squirrel: Public structures
Structure, stateful-generator: Public structures
Structure, tt800: Public structures
System, random-state: The random-state system

T
toolkit.lisp: The random-state/toolkit․lisp file
tt800: Public structures
tt800.lisp: The random-state/tt800․lisp file