LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
NetBuilder::NetConstructionTraits< NC > Struct Template Reference

Digital net construction traits. More...

#include <NetConstructionTraits.h>

Detailed Description

template<NetConstruction NC>
struct NetBuilder::NetConstructionTraits< NC >

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 coordinate
  • GenValueSpaceSeq: type used to represent the sequence of all the possible combinations of generating values
    the following static variables:
  • isSequenceViewable: a bool indicating whether the net can be viewed as a sequence
  • name: a string naming the specialization
  • hasSpecialFirstCoordinate: a bool indicating whether the first coordinate is a special case and can only take one value
    the following static functions:
  • 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 parameter
  • static 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.
    and the following class template:
  • 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.
Examples:
tutorial/NetDef.cc, tutorial/NetQuantiles.cc, tutorial/NetSearchCBC.cc, tutorial/NetSearchExhaustive.cc, and tutorial/NetSearchRandom.cc.

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