Random123
Public Types | Public Member Functions | Static Public Attributes | List of all members
r123::Threefry4x32_R< ROUNDS > Class Template Reference

#include <Random123/threefry.h>

Public Types

typedef threefry4x32_ctr_t ctr_type
 
typedef threefry4x32_key_t key_type
 
typedef threefry4x32_key_t ukey_type
 

Public Member Functions

ctr_type operator() (ctr_type ctr, key_type key)
 

Static Public Attributes

static const R123_METAL_CONSTANT_ADDRESS_SPACE unsigned int rounds =ROUNDS
 

Detailed Description

template<unsigned int ROUNDS>
class r123::Threefry4x32_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 Threefry round function will be applied.

As of September 2011, the authors know of no statistical flaws with ROUNDS=12 or more for Threefry4x32.

Member Typedef Documentation

◆ ctr_type

template<unsigned int ROUNDS>
typedef threefry4x32_ctr_t r123::Threefry4x32_R< ROUNDS >::ctr_type

◆ key_type

template<unsigned int ROUNDS>
typedef threefry4x32_key_t r123::Threefry4x32_R< ROUNDS >::key_type

◆ ukey_type

template<unsigned int ROUNDS>
typedef threefry4x32_key_t r123::Threefry4x32_R< ROUNDS >::ukey_type

Member Function Documentation

◆ operator()()

template<unsigned int ROUNDS>
ctr_type r123::Threefry4x32_R< ROUNDS >::operator() ( ctr_type  ctr,
key_type  key 
)
inline

Member Data Documentation

◆ rounds

template<unsigned int ROUNDS>
const R123_METAL_CONSTANT_ADDRESS_SPACE unsigned int r123::Threefry4x32_R< ROUNDS >::rounds =ROUNDS
static

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