Project Alice
|
#include <ReinterpretCtr.hpp>
Public Types | |
typedef ToType | ctr_type |
typedef CBRNG::key_type | key_type |
typedef CBRNG::ctr_type | bctype |
typedef CBRNG::ukey_type | ukey_type |
Public Member Functions | |
R123_STATIC_ASSERT (sizeof(ToType)==sizeof(bctype) &&sizeof(typename bctype::value_type) !=16, "ReinterpretCtr: sizeof(ToType) is not the same as sizeof(CBRNG::ctr_type) or CBRNG::ctr_type::value_type looks " "like it might be __m128i") | |
ctr_type | operator() (ctr_type c, key_type k) |
ReinterpretCtr uses memcpy to map back and forth between a CBRNG's ctr_type and the specified ToType. For example, after:
typedef ReinterpretCtr<r123array4x32, Philox2x64> G;
G is a bona fide CBRNG with ctr_type r123array4x32.
WARNING: ReinterpretCtr is endian dependent. The values returned by G, declared as above, will depend on the endianness of the machine on which it runs.
Definition at line 54 of file ReinterpretCtr.hpp.
typedef CBRNG::ctr_type r123::ReinterpretCtr< ToType, CBRNG >::bctype |
Definition at line 57 of file ReinterpretCtr.hpp.
typedef ToType r123::ReinterpretCtr< ToType, CBRNG >::ctr_type |
Definition at line 55 of file ReinterpretCtr.hpp.
typedef CBRNG::key_type r123::ReinterpretCtr< ToType, CBRNG >::key_type |
Definition at line 56 of file ReinterpretCtr.hpp.
typedef CBRNG::ukey_type r123::ReinterpretCtr< ToType, CBRNG >::ukey_type |
Definition at line 58 of file ReinterpretCtr.hpp.
|
inline |
Definition at line 79 of file ReinterpretCtr.hpp.
r123::ReinterpretCtr< ToType, CBRNG >::R123_STATIC_ASSERT | ( | sizeof(ToType) | = =sizeof(bctype) &&sizeof(typename bctype::value_type) !=16 , |
"ReinterpretCtr< ToType, CBRNG >: sizeof(ToType) is not the same as sizeof(CBRNG::ctr_type) or CBRNG::ctr_type::value_type looks " "like it might be __m128i" | |||
) |