(t, m, s)-nets generator
3.0.1
|
#include <digital_net.hpp>
Public Member Functions | |
DigitalNet (DigitalNet const &)=default | |
DigitalNet (DigitalNet &&)=default | |
DigitalNet & | operator= (DigitalNet const &)=default |
DigitalNet & | operator= (DigitalNet &&)=default |
DigitalNet (void) | |
Creates empty object. | |
DigitalNet (std::vector< GenNum > const &generating_numbers) | |
Creates digital net with given generating numbers. | |
DigitalNet (std::vector< GenMat > const &generating_matrices) | |
Creates digital net with given generating matrices. | |
BasicInt | m (void) const |
Returns \(m\) parameter of the net. | |
BasicInt | s (void) const |
Returns \(s\) parameter of the net. | |
GenNum | generating_numbers (BasicInt dim) const |
GenMat | generating_matrix (BasicInt dim) const |
Point | generate_point_classical (CountInt pos) const |
Point | generate_point (CountInt pos) const |
IntPoint | generate_int_point (CountInt pos) const |
void | for_each_point (std::function< void(Point const &, CountInt)> handler, CountInt amount, CountInt pos=0) const |
void | for_each_int_point (std::function< void(IntPoint const &, CountInt)> handler, CountInt amount, CountInt pos=0) const |
Point | cast_int_point_to_real (IntPoint const &int_point) const |
Protected Member Functions | |
DigitalNet (BasicInt nbits, BasicInt dim, std::vector< GenNum > const &generating_numbers) | |
void | store_int_point (IntPoint &point, CountInt pos) const |
void | store_next_int_point (IntPoint &point, CountInt pos, IntPoint const &prev_point) const |
Protected Attributes | |
BasicInt | m_nbits |
\(m\) parameter of the digital net | |
BasicInt | m_dim |
\(s\) parameter of the digital net | |
Real | m_recip |
Coefficient equal to \(2^{-m}\). | |
std::vector< GenNum > | m_generating_numbers |
Vector of a generating numbers of the digital net. | |
Represents digital \((t, m, s)\)-net over \(\mathbb{F}_2\)
Returns generating numbers corresponging to certain dimension
dim | – dimension |
Returns generating matrix corresponding to certain dimetnsion
dim | – dimension |
Generates point of a digital net with the certain number
pos | - number of generated point |
Generates point of a digital net with certain Gray's code number
pos | - sequence number of generated point |
Generates scaled point of a digital net with certain Gray's code number
pos | - sequence number of scaled generated point |
void for_each_point | ( | std::function< void(Point const &, CountInt)> | handler, |
CountInt | amount, | ||
CountInt | pos = 0 |
||
) | const |
Sequentially generates a section of reordered net points and applies the handler function to each pair: (point, point's number)
handler | - handler function to apply |
amount | - amount of points in the section of the net |
pos | - number of the first point in the section of the net |
void for_each_int_point | ( | std::function< void(IntPoint const &, CountInt)> | handler, |
CountInt | amount, | ||
CountInt | pos = 0 |
||
) | const |
Sequentially generates a section of reordered scaled net points and applies the handler function to each pair: (point, point's number)
handler | - handler function to apply |
amount | - amount of points in the section of the net |
pos | - number of the first point in the section of the net |
Casts scaled integer point to a point by multiplying it by \(2^{-m}\)
int_point | - point to cast |
Stores into the integer vector scaled (t,m,s)-net point with certain number, enumerated according to Gray's code.
[out] | point | - storage vector |
[in] | pos | - generated scaled (t,m,s)-net point number |
|
protected |
Stores into the integer vector scaled (t,m,s)-net point with certain number, enumerated according to Gray's code, computed using the previous point.
[out] | point | - storage vector |
[in] | pos | - generated scaled net point number (should be greater then 0) |
[in] | prev_point | - scaled net point with the previous point number |