- Random123-1.09 Documentation

Public Types | Public Member Functions | Static Public Attributes

# r123::Philox4x32_R< ROUNDS > Class Template Reference
[Philox Classes and Typedefs]

`#include <Random123/philox.h>`

List of all members.

## Public Types
typedef r123array4x32 | ctr_type
typedef r123array2x32 | key_type
typedef r123array2x32 | ukey_type
## Public Member Functions
ctr_type | operator() (ctr_type ctr, key_type key) const
## Static Public Attributes
static const unsigned int | rounds = ROUNDS

## Detailed Description

### template<unsigned int ROUNDS>
class r123::Philox4x32_R< ROUNDS >

exports the member functions, typedefs and operator overloads required by a CBRNG class.

The template argument, ROUNDS, is the number of times the Philox round function will be applied.

In November 2011, the authors recorded some suspicious p-values (approximately 1.e-7) from some very long (longer than the default BigCrush length) SimpPoker tests. Despite the fact that even longer tests reverted to "passing" p-values, a cloud remains over Philox4x32 with 7 rounds. The authors know of no statistical flaws with ROUNDS=8 or more for Philox4x32.

## Member Typedef Documentation

template<unsigned int ROUNDS>

typedef r123array4x32 r123::Philox4x32_R< ROUNDS >::ctr_type

template<unsigned int ROUNDS>

typedef r123array2x32 r123::Philox4x32_R< ROUNDS >::key_type

template<unsigned int ROUNDS>

typedef r123array2x32 r123::Philox4x32_R< ROUNDS >::ukey_type

## Member Function Documentation

template<unsigned int ROUNDS>

ctr_type r123::Philox4x32_R< ROUNDS >::operator() | ( | ctr_type | ctr,
|  | key_type | key |
| ) |  |  | const`[inline]`

## Member Data Documentation

template<unsigned int ROUNDS>

const unsigned int r123::Philox4x32_R< ROUNDS >::rounds = ROUNDS`[static]`

The documentation for this class was generated from the following file:

- Random123/philox.h

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines