- Random123-1.09 Documentation

Classes | Typedefs | Enumerations

# Philox Classes and Typedefs

## Classes
class | r123::Philox2x32_R< ROUNDS >
class | r123::Philox2x64_R< ROUNDS >
class | r123::Philox4x32_R< ROUNDS >
class | r123::Philox4x64_R< ROUNDS >
## Typedefs
typedef Philox2x32_R < philox2x32_rounds > | r123::Philox2x32
typedef Philox2x64_R < philox2x64_rounds > | r123::Philox2x64
typedef Philox4x32_R < philox4x32_rounds > | r123::Philox4x32
typedef Philox4x64_R < philox4x64_rounds > | r123::Philox4x64
## Enumerations
enum | r123_enum_philox2x32 { philox2x32_rounds = 10 }
enum | r123_enum_philox4x32 { philox4x32_rounds = 10 }
enum | r123_enum_philox2x64 { philox2x64_rounds = 10 }
enum | r123_enum_philox4x64 { philox4x64_rounds = 10 }

## Detailed Description

The PhiloxNxW classes export the member functions, typedefs and operator overloads required by a CBRNG class.

As described in Parallel Random Numbers: As Easy as 1, 2, 3 . The Philox family of counter-based RNGs use integer multiplication, xor and permutation of W-bit words to scramble its N-word input key. Philox is a mnemonic for Product HI LO Xor).

## Typedef Documentation

r123::Philox2x32

Philox2x32 is equivalent to Philox2x32_R<10>. With 10 rounds, Philox2x32 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

r123::Philox2x64

Philox2x64 is equivalent to Philox2x64_R<10>. With 10 rounds, Philox2x64 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

r123::Philox4x32

Philox4x32 is equivalent to Philox4x32_R<10>. With 10 rounds, Philox4x32 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

r123::Philox4x64

Philox4x64 is equivalent to Philox4x64_R<10>. With 10 rounds, Philox4x64 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

## Enumeration Type Documentation

enum r123_enum_philox2x32

Enumerator:

  philox2x32_rounds |

enum r123_enum_philox2x64

Enumerator:

  philox2x64_rounds |

enum r123_enum_philox4x32

Enumerator:

  philox4x32_rounds |

enum r123_enum_philox4x64

Enumerator:

  philox4x64_rounds |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines