LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
LatBuilder::GenSeq::Extend< LR, TRAV > Class Template Reference

Indexed sequence of integers that extend on an smaller integer by adding higher-order digits. More...

#include <Extend.h>

Inherits LatBuilder::Traversal::Policy< Extend< LR, TRAV >, TRAV >.

Classes

struct  RebindTraversal
 Rebinds the traversal type. More...
 

Public Types

typedef LatticeTraits< LR >::Modulus value_type
 Value type.
 
typedef size_t size_type
 Size type.
 
typedef TRAV Traversal
 Traversal type.
 

Public Member Functions

 Extend (value_type modulus=value_type(1), value_type grain=value_type(1), value_type low=value_type(0), Traversal trav=Traversal())
 Constructor. More...
 
template<class TRAV2 >
 Extend (const Extend< LR, TRAV2 > &other, Traversal trav=Traversal())
 Cross-traversal copy-constructor.
 
template<class TRAV2 >
RebindTraversal< TRAV2 >::Type rebind (TRAV2 trav) const
 Returns a copy of this object, but using a different traversal policy.
 
value_type modulus () const
 Returns the modulus.
 
size_type size () const
 Returns the size of the sequence. More...
 
value_type operator[] (size_type i) const
 Returns the element at index i.
 

Friends

template<LatticeType , typename >
class Extend
 

Detailed Description

template<LatticeType LR, class TRAV = Traversal::Forward>
class LatBuilder::GenSeq::Extend< LR, TRAV >

Indexed sequence of integers that extend on an smaller integer by adding higher-order digits.

Given a small integer \(x\) smaller than the grain \(n_0\), the \(i\)-th integer this sequence is given by \(i n_0 + x\).

Examples:
tutorial/GenSeqExtend.cc.

Constructor & Destructor Documentation

◆ Extend()

template<LatticeType LR, class TRAV >
LatBuilder::GenSeq::Extend< LR, TRAV >::Extend ( value_type  modulus = value_type(1),
value_type  grain = value_type(1),
value_type  low = value_type(0),
Traversal  trav = Traversal() 
)

Constructor.

Parameters
modulusAll integers in the sequence are smaller than modulus.
grainDifference between successive integers in the sequence.
lowj Integer smaller than grain that specifies the lower digits of every integer in the sequence.
travTraversal instance.

Member Function Documentation

◆ size()

template<LatticeType LR, class TRAV = Traversal::Forward>
size_type LatBuilder::GenSeq::Extend< LR, TRAV >::size ( ) const
inline

Returns the size of the sequence.

The size is the value of Euler's totient function.


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