LatNet Builder Manual
2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
|
Digital net construction traits. More...
#include <NetConstructionTraits.h>
Digital net construction traits.
Specialization of this class must define:
the following types:
GenValue:
type of the value required to construct a generating matrix (specific to a coordinate)SizeParameter:
type of the parameter used to construct a net (shared by all coordinates)GenValueSpaceCoordSeq:
type used to represent the sequence of all possible generating values for a coordinateGenValueSpaceSeq:
type used to represent the sequence of all the possible combinations of generating values isSequenceViewable:
a bool indicating whether the net can be viewed as a sequencename:
a string naming the specializationhasSpecialFirstCoordinate:
a bool indicating whether the first coordinate is a special case and can only take one value static bool
checkGenValue(const GenValue& genValue)
: checks whether a generating value is correct static unsigned
int nRows(const GenValue& genValue)
: computes the number of rows associated to the size parameter static unsigned
int nCols(const GenValue& genValue)
: computes the number of columns associated to the size parameterstatic GeneratingMatrix* createGeneratingMatrix(const GenValue& genValue, SizeParameter sizeParameter)
: create a generating matrix using the generating value and the size parameter.static GenValueSpaceCoordSeq genValueSpaceCoord(Dimension coord, const SizeParameter& sizeParameter)
: returns the sequence of all the possible generating values for coordinate coord
. static GenValueSpaceSeq genValueSpace(Dimension dimension , const SizeParameter& sizeParameter)
: returns the sequence of all the possible combinations of generating values for a net in dimension dimension
. template<EmbeddingType ET, typename RAND = LatBuilder::LFSR258> class RandomGenValueGenerator
: a class template where template parameter ET correspond to the embedding type of the point set and template parameter RAND implements a C++11-style PRNG. This is a random generator of generating values. This class template must define a constructor RandomGenValueGenerator(SizeParameter sizeParameter, RAND randomGen = RAND())
and an the member function GenValue operator()(Dimension coord)
returning a generating value for coordinate coord
.