prrng 1.12.1
Loading...
Searching...
No Matches
prrng::pcg32_array_chunk< Data, Index > Class Template Reference

Array of generators of which a chunk of the random sequence is kept in memory. More...

#include <prrng.h>

Inheritance diagram for prrng::pcg32_array_chunk< Data, Index >:
prrng::pcg32_arrayBase_chunk< pcg32_index_array, Data, Index > prrng::pcg32_arrayBase_chunkBase< Generator, Data, Index, is_cumsum >

Public Member Functions

template<class S , class T , class U >
 pcg32_array_chunk (const S &shape, const T &initstate, const U &initseq, enum distribution distribution, const std::vector< double > &parameters, const alignment &align=alignment())
 
- Public Member Functions inherited from prrng::pcg32_arrayBase_chunk< pcg32_index_array, Data, Index >
void restore (const S &state, const T &index)
 Restore the generator somewhere in the sequence.
 
- Public Member Functions inherited from prrng::pcg32_arrayBase_chunkBase< Generator, Data, Index, is_cumsum >
 pcg32_arrayBase_chunkBase (const pcg32_arrayBase_chunkBase &other)
 Copy constructor.
 
void operator= (const pcg32_arrayBase_chunkBase &other)
 Copy constructor.
 
template<class T >
pcg32_arrayBase_chunkBaseoperator+= (const T &values)
 Add values to each chunk.
 
template<class T >
pcg32_arrayBase_chunkBaseoperator-= (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 >
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 >
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 >
state_at (const T &index)
 The current "state" of the generator.
 

Additional Inherited Members

- Public Types inherited from prrng::pcg32_arrayBase_chunk< pcg32_index_array, Data, Index >
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.
 
- Public Types inherited from prrng::pcg32_arrayBase_chunkBase< Generator, Data, Index, is_cumsum >
using size_type = typename Data::size_type
 Size type of the data container.
 
- Protected Member Functions inherited from prrng::pcg32_arrayBase_chunkBase< Generator, Data, Index, is_cumsum >
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 > &parameters, const alignment &align=alignment())
 Constructor.
 
void auto_functions ()
 Set draw function.
 
void copy_from (const pcg32_arrayBase_chunkBase &other)
 Copy constructor.
 
- Protected Attributes inherited from prrng::pcg32_arrayBase_chunkBase< Generator, Data, Index, is_cumsum >
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.
 

Detailed Description

template<class Data, class Index>
class prrng::pcg32_array_chunk< Data, Index >

Array of generators of which a chunk of the random sequence is kept in memory.

Definition at line 6468 of file prrng.h.

Constructor & Destructor Documentation

◆ pcg32_array_chunk()

template<class Data , class Index >
template<class S , class T , class U >
prrng::pcg32_array_chunk< Data, Index >::pcg32_array_chunk ( const S &  shape,
const T &  initstate,
const U &  initseq,
enum distribution  distribution,
const std::vector< double > &  parameters,
const alignment align = alignment() 
)
inline

Definition at line 6476 of file prrng.h.


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