General class enabling the construction of a pattern of PRNGs by Bob Jenkins. More...
#include <Jsf.h>
Public Types | |
| using | result_type = UnsignedType | 
| When used as a functor, this is the return type of operator ()  | |
Public Member Functions | |
Constructors  | |
| constexpr | JSF ()=default | 
| Default constructor.  | |
| constexpr | JSF (const std::array< UnsignedType, 4 > &input) | 
| Construct from four seed values.  | |
| JSF (std::seed_seq &seedSeq) | |
| Construct from a seed sequence.  | |
| JSF (int seedInt) | |
| Construct from a single integer seed value.  | |
Modifiers  | |
| constexpr void | seed (const std::array< UnsignedType, 4 > &input) | 
| Seed the underlying state with four values.  | |
| void | seed (std::seed_seq &seedSeq) | 
| Seed the underlying state with a seed sequence.  | |
| void | seed (int seed) | 
| Seed the underlying state with a single integer value.  | |
Operators  | |
| constexpr UnsignedType | operator() () | 
| Advance the state and return the current value.  More... | |
| constexpr bool | operator== (const JSF &other) const | 
| Compares the underlying state of two instances.  More... | |
| constexpr bool | operator!= (const JSF &other) const | 
| Compares the underlying state of two instances.  | |
Static Public Member Functions | |
Public static properties  | |
| static constexpr result_type | min () | 
| Minimum value of result_type.  | |
| static constexpr result_type | max () | 
| Maximum value of result_type.  | |
Private Attributes | |
State  | |
| UnsignedType | a_ | 
| UnsignedType | b_ | 
| UnsignedType | c_ | 
| UnsignedType | d_ | 
Static Private Attributes | |
Static properties  | |
| static constexpr unsigned | bits = 8 * sizeof(UnsignedType) | 
General class enabling the construction of a pattern of PRNGs by Bob Jenkins.
| UnsignedType | An unsigned integer type that contains the main state of the PRNG. Choose between 32 and 64-bit state here! | 
| p | A parameter that influences the state advance operations. | 
| q | A parameter that influences the state advance operations. | 
| r | A parameter that influences the state advance operations. | 
      
  | 
  inline | 
Advance the state and return the current value.
Complexity \(\Theta(1)\)
      
  | 
  inline | 
Compares the underlying state of two instances.
Complexity \(\Theta(1)\)