OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: vladimirsitnikov am 22. Juli 2016, 12:00:46

Titel: Weak random number generator in RDM RDMDW
Beitrag von: vladimirsitnikov am 22. Juli 2016, 12:00:46
Hi,

RDM, RDM2, RDMDW seems to be using weak random number generators. The generators are using floating point arithmetics (including divisions), thus they are somewhat slow.

What do you think if the random number generator was replaced with some well-known one?
For instance: xoroshiro128+ (see http://xoroshiro.di.unimi.it/)

xoroshiro128+ requires just 4 DWORDs for internal state, and it uses just shifts, additions and xors, so it should be way faster than current OSCAT generators.

Here's a C code: http://xoroshiro.di.unimi.it/xoroshiro128plus.c (it uses several 64-bit shifts/xors and one 64-bit addition, however all of that can be easily converted to 32bit DWORDs)

By the way: are OSCAT sources somewhere at github?