Node:DICG,
Next:EXTERNAL,
Previous:MEICG,
Up:Definitions

#### DICG (digital inversive congruential generator)

- Definition:

y_n = a * inv(y_{n-1}) + b (mod p) n > 0

**All operations are in the field F_{2^k} !!**

- Name (as given to
`prng_new`

):
`"dicg(k,a,b,y_0)"`

.
- Properties:
- Period length = 2^k.
- Strong non-linear properties.
- Parameters seem not to be sensitive
`prng_is_congruential`

is `TRUE`

.
`prng_can_seed`

is `TRUE`

.
The parameter of `prng_seed`

will be used as
`y_{n-1}`

in the next call to `get_next`

`prng_can_fast_sub`

and `prng_can_fast_con`

are `FALSE`

.
- Parameter selection:
Tricky.

- Introduced in:
Eichenauer-Herrmann and Niederreiter, "Digital inversive
pseudorandom numbers", ACM Transactions on Modeling and Computer
Simulation, 4:339-349 (1994)