Array of generators of which a chunk of the random sequence is kept in memory.
More...
|
| template<class S , class T , class U > |
| | pcg32_tensor_chunk (const S &shape, const T &initstate, const U &initseq, enum distribution distribution, const std::vector< double > ¶meters, const alignment &align=alignment()) |
| |
| void | restore (const S &state, const T &index) |
| | Restore the generator somewhere in the sequence.
|
| |
| | pcg32_arrayBase_chunkBase (const pcg32_arrayBase_chunkBase &other) |
| | Copy constructor.
|
| |
| void | operator= (const pcg32_arrayBase_chunkBase &other) |
| | Copy constructor.
|
| |
| template<class T > |
| pcg32_arrayBase_chunkBase & | operator+= (const T &values) |
| | Add values to each chunk.
|
| |
| template<class T > |
| pcg32_arrayBase_chunkBase & | operator-= (const T &values) |
| | Subtract values from each chunk.
|
| |
| bool | is_extendible () const |
| | true if the chunk is extendible.
|
| |
| size_type | chunk_size () const |
| | Size of the chunk per generator.
|
| |
| const Generator & | generators () const |
| | Reference to the underlying generators.
|
| |
| const Data & | data () const |
| | The current chunk of the cumsum of random numbers.
|
| |
| void | set_data (const Data &data) |
| | Overwrite the current chunk of the cumsum of random numbers.
|
| |
| const Index & | start () const |
| | Global index of the first element in the chunk.
|
| |
| void | set_start (const Index &index) |
| | Set global index of the first element in the chunk.
|
| |
| void | align_at (const Index &index) |
| | Get the index random number, which index specified per generator.
|
| |
| Index | index_at_align () const |
| | Global index of target (the last time prrng::pcg32_cumsum::align() was called).
|
| |
| const Index & | chunk_index_at_align () const |
| | Index of target relative to the beginning of the chunk (the last time prrng::pcg32_cumsum::align() was called).
|
| |
| template<class R > |
| void | left_of_align (R &ret) const |
| | Return the value of the cumsum left of the target (the last time prrng::pcg32_cumsum::align() was called).
|
| |
| template<class R > |
| void | right_of_align (R &ret) const |
| | Return the value of the cumsum right of the target (the last time prrng::pcg32_cumsum::align() was called).
|
| |
| template<class R > |
| R | left_of_align () const |
| | Return the value of the cumsum left of the target (the last time prrng::pcg32_cumsum::align() was called).
|
| |
| template<class R > |
| R | right_of_align () const |
| | Return the value of the cumsum right of the target (the last time prrng::pcg32_cumsum::align() was called).
|
| |
| template<class R , class T > |
| R | state_at (const T &index) |
| | The current "state" of the generator.
|
| |
|
| using | size_type = typename Data::size_type |
| | Size type of the data container.
|
| |
| using | value_type = typename Data::value_type |
| | Value type of the data container.
|
| |
| using | size_type = typename Data::size_type |
| | Size type of the data container.
|
| |
| template<class S , class T , class U > |
| void | init (const S &shape, const T &initstate, const U &initseq, enum distribution distribution, const std::vector< double > ¶meters, const alignment &align=alignment()) |
| | Constructor.
|
| |
| void | auto_functions () |
| | Set draw function.
|
| |
| void | copy_from (const pcg32_arrayBase_chunkBase &other) |
| | Copy constructor.
|
| |
| Generator | m_gen |
| | Array of generators.
|
| |
| Data | m_data |
| | Data container.
|
| |
| std::vector< std::function< xt::xtensor< double, 1 >(size_t)> > | m_draw |
| | Function to draw the next chunk of n random numbers starting from the curent state of the generator.
|
| |
| std::vector< std::function< double(size_t)> > | m_sum |
| | Function to get the cumsum of n random numbers starting from the curent state of the generator (used to skip allocating an list of size n).
|
| |
| bool | m_extendible |
| | Signal if the drawing functions are specified, implying that the chunk can be changed.
|
| |
| alignment | m_align |
| | alignment settings, see prrng::alignment().
|
| |
| distribution | m_distro |
| | Distribution name, see prrng::distribution().
|
| |
| std::array< double, 3 > | m_param |
| | Distribution parameters.
|
| |
| Index | m_start |
| | Start index of the chunk.
|
| |
| Index | m_i |
| | Last known index of target in align.
|
| |
| size_t | m_n |
| | Size of the chunk.
|
| |
template<class Data, class Index, size_t N>
class prrng::pcg32_tensor_chunk< Data, Index, N >
Array of generators of which a chunk of the random sequence is kept in memory.
Definition at line 6494 of file prrng.h.