The random-state Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The random-state Reference Manual

This is the random-state Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 05:44:59 2022 GMT+0.

Table of Contents


1 Introduction

About random-state

This is a collection of pseudo random number generators (PRNGs). While Common Lisp does provide a RANDOM function, it does not allow the user to pass an explicit SEED, nor to portably exchange the random state between implementations. This can be a headache in cases like games, where a controlled seeding process can be very useful.

How To

For both curiosity and convenience, this library offers multiple algorithms to generate random numbers, as well as a bunch of generally useful methods to produce desired ranges.

(loop with generator = (random-state:make-generator :mersenne-twister-32 123)
      repeat 10
      collect (random-state:random-int generator 0 10))
=> (5 6 6 3 2 8 6 9 6 1)

The library does make some efforts to be reasonably efficient while preserving usability, but each of the implementations could be optimised further. For performance critical sections, you might want to take matters into your own hands and only rely on random-byte for the most direct access to the generator. If that still is not sufficiently fast, creating a tailored implementation of an algorithm based on the source code of this library should not be difficult.

Several methods to compute random numbers in certain ranges are provided in advance: random-byte, random-bytes, random-unit, random-float, and random-int. Each of those can also be used with just the name of the generator you'd like to use as the first argument, in which case a global instance will be used.


2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 random-state

Portable random number generation.

Author

Nicolas Hafner <shinmera@tymoon.eu>

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

0.1.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.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

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/linear-congruence.lisp

Dependency

generator.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.6 random-state/mersenne-twister.lisp

Dependency

linear-congruence.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.7 random-state/middle-square.lisp

Dependency

mersenne-twister.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.8 random-state/pcg.lisp

Dependency

middle-square.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.9 random-state/rc4.lisp

Dependency

pcg.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.10 random-state/tt800.lisp

Dependency

rc4.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).

Public Interface
Internals

3.1.11 random-state/documentation.lisp

Dependency

tt800.lisp (file).

Source

random-state.asd.

Parent Component

random-state (system).


4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

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.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


5.1.1 Ordinary functions

Function: generator-class (name)

Attempts to find the named generator class. Accepts strings, symbols, and classes.

If no generator can be found, an error is signalled.

Package

random-state.

Source

generator.lisp.

Function: global-generator (name)

Returns a global instance of a generator.

See MAKE-GENERATOR

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.

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

Creates a generator of the given type.

The GENERATOR can be any name supported by GENERATOR-CLASS.

SEED must be an integer.

After construction, RESEED is called on the generator with the given SEED.

Example:
(random-state:make-generator :mersenne-twister-32 42)

See GENERATOR-CLASS
See RESEED

Package

random-state.

Source

generator.lisp.


5.1.2 Generic functions

Generic Reader: bytes (object)

Returns the number of bytes (bits) that a RANDOM-BYTE call of this generator produces.

Package

random-state.

Methods
Reader Method: bytes ((generator generator))

automatically generated reader method

Source

generator.lisp.

Target Slot

bytes.

Generic Function: random-byte (generator)

Returns an integer of fresh random output from the generator.

The integer is at most 2^(BYTES GENERATOR)-1 and at least 0.

See GENERATOR
See BYTES

Package

random-state.

Source

generator.lisp.

Methods
Method: random-byte ((generator tt800))
Source

tt800.lisp.

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

rc4.lisp.

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

pcg.lisp.

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

middle-square.lisp.

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

mersenne-twister.lisp.

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

mersenne-twister.lisp.

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

linear-congruence.lisp.

Method: random-byte (generator)
Generic Function: random-bytes (generator bytes)

Returns an integer of fresh random output from the generator.

The integer is at most 2^(BYTES)-1 and at least 0.

See GENERATOR
See RANDOM-BYTE

Package

random-state.

Source

generator.lisp.

Methods
Method: random-bytes ((generator generator) (bytes integer))
Method: random-bytes (generator bytes)
Generic Function: random-float (generator from to)

Returns a float of fresh random output from the generator.

The returned value is a double-float between FROM and TO.

See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: random-float ((generator generator) (from real) (to real))
Method: random-float :around ((generator generator) (from real) (to real))
Method: random-float (generator from to)
Generic Function: random-int (generator from to)

Returns an integer of fresh random output from the generator.

The returned value is an integer between FROM (inclusive) and TO (inclusive).

See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: random-int ((generator generator) (from integer) (to integer))
Method: random-int :around ((generator generator) (from integer) (to integer))
Method: random-int (generator from to)
Generic Function: random-unit (generator)

Returns a unit float of fresh random output from the generator.

The returned value is a double-float between 0.0 and 1.0.

See GENERATOR

Package

random-state.

Source

generator.lisp.

Methods
Method: random-unit ((generator generator))
Method: random-unit (generator)
Generic Function: reseed (generator &optional new-seed)

Reinitialises the generator with the new seed.

The seed should be an integer. If not given, the current value returned by HOPEFULLY-SUFFICIENTLY-RANDOM-SEED is used.

Package

random-state.

Source

generator.lisp.

Methods
Method: reseed ((generator tt800) &optional new-seed)
Source

tt800.lisp.

Method: reseed ((generator rc4) &optional new-seed)
Source

rc4.lisp.

Method: reseed ((generator pcg) &optional new-seed)
Source

pcg.lisp.

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

middle-square.lisp.

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

mersenne-twister.lisp.

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

mersenne-twister.lisp.

Method: reseed :after ((generator mersenne-twister) &optional new-seed)
Source

mersenne-twister.lisp.

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

linear-congruence.lisp.

Method: reseed :around ((generator generator) &optional new-seed)
Method: reseed (generator &optional new-seed)
Generic Reader: seed (object)

Returns the seed that was used to initialise the generator.

Package

random-state.

Methods
Reader Method: seed ((generator generator))

automatically generated reader method

Source

generator.lisp.

Target Slot

seed.


5.1.3 Standalone methods

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

generator.lisp.


5.1.4 Classes

Class: generator

General class for any random number generator.

See SEED
See BYTES
See MAKE-GENERATOR
See RANDOM-BYTE
See RANDOM-BYTES
See RANDOM-UNIT
See RANDOM-FLOAT
See RANDOM-INT
See RESEED

Package

random-state.

Source

generator.lisp.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:seed(error seed required.)
Direct slots
Slot: seed
Initargs

:seed

Readers

seed.

Writers

set-seed.

Slot: bytes
Initform

(error "missing bytes initform from generator definition.")

Readers

bytes.

Writers

This slot is read-only.

Class: 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

generator.

Direct methods
Direct Default Initargs
InitargValue
:bytes64
:multiplier6364136223846793005
:increment1442695040888963407
Direct slots
Slot: state
Readers

state.

Writers

(setf state).

Slot: multiplier
Initargs

:multiplier

Readers

multiplier.

Writers

set-multiplier.

Slot: increment
Initargs

:increment

Readers

increment.

Writers

set-increment.

Slot: bytes
Initargs

:bytes

Writers

set-bytes.

Class: 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 Default Initargs
InitargValue
:n624
:m397
:upper2147483648
:lower2147483647
:magic(barr 32 0 2567483615)
:shiftops#((-11 4294967295) (7 2636928640) (15 4022730752) (-18 4294967295))
Direct slots
Slot: bytes
Initform

32

Class: 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 Default Initargs
InitargValue
:n312
:m156
:upper18446744071562067968
:lower2147483647
:magic(barr 64 0 13043109905998158313)
:shiftops#((-29 6148914691236517205) (17 8202884508482404352) (37 18444473444759240704) (-43 18446744073709551615))
Direct slots
Slot: bytes
Initform

64

Class: 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

generator.

Direct methods
Direct Default Initargs
InitargValue
:bytes64
Direct slots
Slot: bytes
Initargs

:bytes

Writers

set-bytes.

Slot: state
Readers

state.

Writers

(setf state).

Class: pcg

An adaptation of the PCG rng.

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

Package

random-state.

Source

pcg.lisp.

Direct superclasses

generator.

Direct methods
Direct Default Initargs
InitargValue
:state9600629759793949339
:inc15726070495360670683
Direct slots
Slot: state
Initargs

:state

Readers

state.

Writers

(setf state).

Slot: inc
Initargs

:inc

Readers

inc.

Writers

(setf inc).

Slot: bytes
Initform

32

Class: rc4

The RC4 cryptographic random number generator.

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

Package

random-state.

Source

rc4.lisp.

Direct superclasses

generator.

Direct methods
Direct slots
Slot: index1
Initform

0

Readers

index1.

Writers

(setf index1).

Slot: index2
Initform

0

Readers

index2.

Writers

(setf index2).

Slot: state
Initform

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

Readers

state.

Writers

This slot is read-only.

Slot: bytes
Initform

8

Class: 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

generator.

Direct methods
Direct slots
Slot: magic
Initform

(random-state::barr 32 0 2394935336)

Readers

magic.

Writers

This slot is read-only.

Slot: shiftops
Initform

#((7 727393536) (15 3683319808) (-16 4294967295))

Readers

shiftops.

Writers

This slot is read-only.

Slot: n
Initform

25

Readers

n.

Writers

This slot is read-only.

Slot: m
Initform

7

Readers

m.

Writers

This slot is read-only.

Slot: index
Initform

0

Readers

index.

Writers

(setf index).

Slot: matrix
Readers

matrix.

Writers

set-matrix.

Slot: bytes
Initform

32


5.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.1 Special variables

Special Variable: *generators*
Package

random-state.

Source

generator.lisp.


5.2.2 Macros

Macro: %inner-mersenne-twister (bytes)
Package

random-state.

Source

mersenne-twister.lisp.

Macro: define-generator-generic (name (generator &rest args) &rest options)
Package

random-state.

Source

generator.lisp.

Macro: incfmod (place mod &optional delta)
Package

random-state.

Source

toolkit.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.3 Ordinary functions

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: truncate-bits (x bits)
Package

random-state.

Source

toolkit.lisp.

Function: truncate32 (x)
Package

random-state.

Source

toolkit.lisp.

Function: truncate64 (x)
Package

random-state.

Source

toolkit.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.4 Generic functions

Generic Reader: inc (object)
Package

random-state.

Methods
Reader Method: inc ((pcg pcg))

automatically generated reader method

Source

pcg.lisp.

Target Slot

inc.

Generic Writer: (setf inc) (object)
Package

random-state.

Methods
Writer Method: (setf inc) ((pcg pcg))

automatically generated writer method

Source

pcg.lisp.

Target Slot

inc.

Generic Reader: increment (object)
Package

random-state.

Methods
Reader Method: increment ((linear-congruence linear-congruence))

automatically generated reader method

Source

linear-congruence.lisp.

Target Slot

increment.

Generic Reader: index (object)
Package

random-state.

Methods
Reader Method: index ((tt800 tt800))

automatically generated reader method

Source

tt800.lisp.

Target Slot

index.

Reader Method: index ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

index.

Generic Writer: (setf index) (object)
Package

random-state.

Methods
Writer Method: (setf index) ((tt800 tt800))

automatically generated writer method

Source

tt800.lisp.

Target Slot

index.

Writer Method: (setf index) ((mersenne-twister mersenne-twister))

automatically generated writer method

Source

mersenne-twister.lisp.

Target Slot

index.

Generic Reader: index1 (object)
Package

random-state.

Methods
Reader Method: index1 ((rc4 rc4))

automatically generated reader method

Source

rc4.lisp.

Target Slot

index1.

Generic Writer: (setf index1) (object)
Package

random-state.

Methods
Writer Method: (setf index1) ((rc4 rc4))

automatically generated writer method

Source

rc4.lisp.

Target Slot

index1.

Generic Reader: index2 (object)
Package

random-state.

Methods
Reader Method: index2 ((rc4 rc4))

automatically generated reader method

Source

rc4.lisp.

Target Slot

index2.

Generic Writer: (setf index2) (object)
Package

random-state.

Methods
Writer Method: (setf index2) ((rc4 rc4))

automatically generated writer method

Source

rc4.lisp.

Target Slot

index2.

Generic Reader: lower (object)
Package

random-state.

Methods
Reader Method: lower ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

lower.

Generic Reader: m (object)
Package

random-state.

Methods
Reader Method: m ((tt800 tt800))

automatically generated reader method

Source

tt800.lisp.

Target Slot

m.

Reader Method: m ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

m.

Generic Reader: magic (object)
Package

random-state.

Methods
Reader Method: magic ((tt800 tt800))

automatically generated reader method

Source

tt800.lisp.

Target Slot

magic.

Reader Method: magic ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

magic.

Generic Reader: matrix (object)
Package

random-state.

Methods
Reader Method: matrix ((tt800 tt800))

automatically generated reader method

Source

tt800.lisp.

Target Slot

matrix.

Reader Method: matrix ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

matrix.

Generic Reader: multiplier (object)
Package

random-state.

Methods
Reader Method: multiplier ((linear-congruence linear-congruence))

automatically generated reader method

Source

linear-congruence.lisp.

Target Slot

multiplier.

Generic Reader: n (object)
Package

random-state.

Methods
Reader Method: n ((tt800 tt800))

automatically generated reader method

Source

tt800.lisp.

Target Slot

n.

Reader Method: n ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

n.

Generic Writer: set-bytes (new-value object)
Package

random-state.

Methods
Writer Method: set-bytes ((new-value middle-square) middle-square)

automatically generated writer method

Source

middle-square.lisp.

Target Slot

bytes.

Writer Method: set-bytes ((new-value linear-congruence) linear-congruence)

automatically generated writer method

Source

linear-congruence.lisp.

Target Slot

bytes.

Generic Writer: set-increment (new-value object)
Package

random-state.

Methods
Writer Method: set-increment ((new-value linear-congruence) linear-congruence)

automatically generated writer method

Source

linear-congruence.lisp.

Target Slot

increment.

Generic Writer: set-matrix (new-value object)
Package

random-state.

Methods
Writer Method: set-matrix ((new-value tt800) tt800)

automatically generated writer method

Source

tt800.lisp.

Target Slot

matrix.

Writer Method: set-matrix ((new-value mersenne-twister) mersenne-twister)

automatically generated writer method

Source

mersenne-twister.lisp.

Target Slot

matrix.

Generic Writer: set-multiplier (new-value object)
Package

random-state.

Methods
Writer Method: set-multiplier ((new-value linear-congruence) linear-congruence)

automatically generated writer method

Source

linear-congruence.lisp.

Target Slot

multiplier.

Generic Writer: set-seed (new-value object)
Package

random-state.

Methods
Writer Method: set-seed ((new-value generator) generator)

automatically generated writer method

Source

generator.lisp.

Target Slot

seed.

Generic Reader: shiftops (object)
Package

random-state.

Methods
Reader Method: shiftops ((tt800 tt800))

automatically generated reader method

Source

tt800.lisp.

Target Slot

shiftops.

Reader Method: shiftops ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

shiftops.

Generic Reader: state (object)
Package

random-state.

Methods
Reader Method: state ((rc4 rc4))

automatically generated reader method

Source

rc4.lisp.

Target Slot

state.

Reader Method: state ((pcg pcg))

automatically generated reader method

Source

pcg.lisp.

Target Slot

state.

Reader Method: state ((middle-square middle-square))

automatically generated reader method

Source

middle-square.lisp.

Target Slot

state.

Reader Method: state ((linear-congruence linear-congruence))

automatically generated reader method

Source

linear-congruence.lisp.

Target Slot

state.

Generic Writer: (setf state) (object)
Package

random-state.

Methods
Writer Method: (setf state) ((pcg pcg))

automatically generated writer method

Source

pcg.lisp.

Target Slot

state.

Writer Method: (setf state) ((middle-square middle-square))

automatically generated writer method

Source

middle-square.lisp.

Target Slot

state.

Writer Method: (setf state) ((linear-congruence linear-congruence))

automatically generated writer method

Source

linear-congruence.lisp.

Target Slot

state.

Generic Reader: upper (object)
Package

random-state.

Methods
Reader Method: upper ((mersenne-twister mersenne-twister))

automatically generated reader method

Source

mersenne-twister.lisp.

Target Slot

upper.


Previous: , Up: Internals   [Contents][Index]

5.2.5 Classes

Class: mersenne-twister
Package

random-state.

Source

mersenne-twister.lisp.

Direct superclasses

generator.

Direct subclasses
Direct methods
Direct slots
Slot: n
Initargs

:n

Readers

n.

Writers

This slot is read-only.

Slot: m
Initargs

:m

Readers

m.

Writers

This slot is read-only.

Slot: upper
Initargs

:upper

Readers

upper.

Writers

This slot is read-only.

Slot: lower
Initargs

:lower

Readers

lower.

Writers

This slot is read-only.

Slot: matrix
Initargs

:matrix

Readers

matrix.

Writers

set-matrix.

Slot: index
Initargs

:index

Readers

index.

Writers

(setf index).

Slot: magic
Initargs

:magic

Readers

magic.

Writers

This slot is read-only.

Slot: shiftops
Initargs

:shiftops

Readers

shiftops.

Writers

This slot is read-only.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

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

%
%inner-mersenne-twister: Private macros

(
(setf inc): Private generic functions
(setf inc): Private generic functions
(setf index): Private generic functions
(setf index): Private generic functions
(setf index): Private generic functions
(setf index1): Private generic functions
(setf index1): Private generic functions
(setf index2): Private generic functions
(setf index2): Private generic functions
(setf state): Private generic functions
(setf state): Private generic functions
(setf state): Private generic functions
(setf state): Private generic functions

3
32bit-seed-array: Private ordinary functions

6
64bit-seed-array: Private ordinary functions

B
barr: Private ordinary functions
byte-array-to-int: Private ordinary functions
bytes: Public generic functions
bytes: Public generic functions

D
define-generator-generic: Private macros

F
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, generator-class: Public ordinary functions
Function, global-generator: Public ordinary functions
Function, hopefully-sufficiently-random-seed: Public ordinary functions
Function, make-generator: Public ordinary functions
Function, truncate-bits: Private ordinary functions
Function, truncate32: Private ordinary functions
Function, truncate64: Private ordinary functions

G
generator-class: Public ordinary functions
Generic Function, (setf inc): Private generic functions
Generic Function, (setf index): Private generic functions
Generic Function, (setf index1): Private generic functions
Generic Function, (setf index2): Private generic functions
Generic Function, (setf state): Private generic functions
Generic Function, bytes: Public generic functions
Generic Function, inc: Private generic functions
Generic Function, increment: Private generic functions
Generic Function, index: Private generic functions
Generic Function, index1: Private generic functions
Generic Function, index2: Private generic functions
Generic Function, lower: Private generic functions
Generic Function, m: Private generic functions
Generic Function, magic: Private generic functions
Generic Function, matrix: Private generic functions
Generic Function, multiplier: Private generic functions
Generic Function, n: Private generic functions
Generic Function, random-byte: Public generic functions
Generic Function, random-bytes: Public generic functions
Generic Function, random-float: Public generic functions
Generic Function, random-int: Public generic functions
Generic Function, random-unit: Public generic functions
Generic Function, reseed: Public generic functions
Generic Function, seed: Public generic functions
Generic Function, set-bytes: Private generic functions
Generic Function, set-increment: Private generic functions
Generic Function, set-matrix: Private generic functions
Generic Function, set-multiplier: Private generic functions
Generic Function, set-seed: Private generic functions
Generic Function, shiftops: Private generic functions
Generic Function, state: Private generic functions
Generic Function, upper: Private generic functions
global-generator: Public ordinary functions

H
hopefully-sufficiently-random-seed: Public ordinary functions

I
inc: Private generic functions
inc: Private generic functions
incfmod: Private macros
increment: Private generic functions
increment: Private generic functions
index: Private generic functions
index: Private generic functions
index: Private generic functions
index1: Private generic functions
index1: Private generic functions
index2: Private generic functions
index2: Private generic functions

L
lower: Private generic functions
lower: Private generic functions

M
m: Private generic functions
m: Private generic functions
m: Private generic functions
Macro, %inner-mersenne-twister: Private macros
Macro, define-generator-generic: Private macros
Macro, incfmod: Private macros
magic: Private generic functions
magic: Private generic functions
magic: Private generic functions
make-generator: Public ordinary functions
matrix: Private generic functions
matrix: Private generic functions
matrix: Private generic functions
Method, (setf inc): Private generic functions
Method, (setf index): Private generic functions
Method, (setf index): Private generic functions
Method, (setf index1): Private generic functions
Method, (setf index2): Private generic functions
Method, (setf state): Private generic functions
Method, (setf state): Private generic functions
Method, (setf state): Private generic functions
Method, bytes: Public generic functions
Method, inc: Private generic functions
Method, increment: Private generic functions
Method, index: Private generic functions
Method, index: Private generic functions
Method, index1: Private generic functions
Method, index2: Private generic functions
Method, lower: Private generic functions
Method, m: Private generic functions
Method, m: Private generic functions
Method, magic: Private generic functions
Method, magic: Private generic functions
Method, matrix: Private generic functions
Method, matrix: Private generic functions
Method, multiplier: Private generic functions
Method, n: Private generic functions
Method, n: Private generic functions
Method, print-object: Public standalone methods
Method, random-byte: Public generic functions
Method, random-byte: Public generic functions
Method, random-byte: Public generic functions
Method, random-byte: Public generic functions
Method, random-byte: Public generic functions
Method, random-byte: Public generic functions
Method, random-byte: Public generic functions
Method, random-byte: Public generic functions
Method, random-bytes: Public generic functions
Method, random-bytes: Public generic functions
Method, random-float: Public generic functions
Method, random-float: Public generic functions
Method, random-float: Public generic functions
Method, random-int: Public generic functions
Method, random-int: Public generic functions
Method, random-int: Public generic functions
Method, random-unit: Public generic functions
Method, random-unit: 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, seed: Public generic functions
Method, set-bytes: Private generic functions
Method, set-bytes: Private generic functions
Method, set-increment: Private generic functions
Method, set-matrix: Private generic functions
Method, set-matrix: Private generic functions
Method, set-multiplier: Private generic functions
Method, set-seed: Private generic functions
Method, shiftops: Private generic functions
Method, shiftops: Private generic functions
Method, state: Private generic functions
Method, state: Private generic functions
Method, state: Private generic functions
Method, state: Private generic functions
Method, upper: Private generic functions
multiplier: Private generic functions
multiplier: Private generic functions

N
n: Private generic functions
n: Private generic functions
n: Private generic functions

P
print-object: Public standalone methods

R
random-byte: Public generic functions
random-byte: Public generic functions
random-byte: Public generic functions
random-byte: Public generic functions
random-byte: Public generic functions
random-byte: Public generic functions
random-byte: Public generic functions
random-byte: Public generic functions
random-byte: Public generic functions
random-bytes: Public generic functions
random-bytes: Public generic functions
random-bytes: Public generic functions
random-float: Public generic functions
random-float: Public generic functions
random-float: Public generic functions
random-float: Public generic functions
random-int: Public generic functions
random-int: Public generic functions
random-int: Public generic functions
random-int: Public generic functions
random-unit: Public generic functions
random-unit: Public generic functions
random-unit: 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

S
seed: Public generic functions
seed: Public generic functions
set-bytes: Private generic functions
set-bytes: Private generic functions
set-bytes: Private generic functions
set-increment: Private generic functions
set-increment: Private generic functions
set-matrix: Private generic functions
set-matrix: Private generic functions
set-matrix: Private generic functions
set-multiplier: Private generic functions
set-multiplier: Private generic functions
set-seed: Private generic functions
set-seed: Private generic functions
shiftops: Private generic functions
shiftops: Private generic functions
shiftops: Private generic functions
state: Private generic functions
state: Private generic functions
state: Private generic functions
state: Private generic functions
state: Private generic functions

T
truncate-bits: Private ordinary functions
truncate32: Private ordinary functions
truncate64: Private ordinary functions

U
upper: Private generic functions
upper: Private generic functions

Jump to:   %   (   3   6  
B   D   F   G   H   I   L   M   N   P   R   S   T   U  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
B   I   L   M   N   S   U  
Index Entry  Section

*
*generators*: Private special variables

B
bytes: Public classes
bytes: Public classes
bytes: Public classes
bytes: Public classes
bytes: Public classes
bytes: Public classes
bytes: Public classes
bytes: Public classes

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

L
lower: Private classes

M
m: Public classes
m: Private classes
magic: Public classes
magic: Private classes
matrix: Public classes
matrix: Private classes
multiplier: Public classes

N
n: Public classes
n: Private classes

S
seed: Public classes
shiftops: Public classes
shiftops: Private classes
Slot, bytes: Public classes
Slot, bytes: Public classes
Slot, bytes: Public classes
Slot, bytes: Public classes
Slot, bytes: Public classes
Slot, bytes: Public classes
Slot, bytes: Public classes
Slot, bytes: Public classes
Slot, inc: Public classes
Slot, increment: Public classes
Slot, index: Public classes
Slot, index: Private classes
Slot, index1: Public classes
Slot, index2: Public classes
Slot, lower: Private classes
Slot, m: Public classes
Slot, m: Private classes
Slot, magic: Public classes
Slot, magic: Private classes
Slot, matrix: Public classes
Slot, matrix: Private classes
Slot, multiplier: Public classes
Slot, n: Public classes
Slot, n: Private classes
Slot, seed: Public classes
Slot, shiftops: Public classes
Slot, shiftops: Private classes
Slot, state: Public classes
Slot, state: Public classes
Slot, state: Public classes
Slot, state: Public classes
Slot, upper: Private classes
Special Variable, *generators*: Private special variables
state: Public classes
state: Public classes
state: Public classes
state: Public classes

U
upper: Private classes

Jump to:   *  
B   I   L   M   N   S   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   F   G   L   M   P   R   S   T  
Index Entry  Section

C
Class, generator: Public classes
Class, linear-congruence: Public classes
Class, mersenne-twister: Private classes
Class, mersenne-twister-32: Public classes
Class, mersenne-twister-64: Public classes
Class, middle-square: Public classes
Class, pcg: Public classes
Class, rc4: Public classes
Class, tt800: Public classes

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, 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, random-state.asd: The random-state/random-state․asd file
File, rc4.lisp: The random-state/rc4․lisp file
File, toolkit.lisp: The random-state/toolkit․lisp file
File, tt800.lisp: The random-state/tt800․lisp file

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

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

M
mersenne-twister: Private classes
mersenne-twister-32: Public classes
mersenne-twister-64: Public classes
mersenne-twister.lisp: The random-state/mersenne-twister․lisp file
middle-square: Public classes
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 classes
pcg.lisp: The random-state/pcg․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 classes
rc4.lisp: The random-state/rc4․lisp file

S
System, random-state: The random-state system

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

Jump to:   C   D   F   G   L   M   P   R   S   T