LatNet Builder Manual 2.1.3-6
Software Package for Constructing Highly Uniform Point Sets
Loading...
Searching...
No Matches
LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC > Class Template Reference

Sequence of lattice merit for CBC exploration. More...

#include <CBC.h>

Classes

class  Seq
 Output sequence of merit values. More...

Public Types

typedef WeightedFigureOfMerit< PROJDEP, ACC > FigureOfMerit
typedef Storage< LR, ET, COMPRESS, PLO >::MeritValue MeritValue
typedef LatBuilder::LatDef< LR, ET > LatDef
typedef MeritValue value_type
typedef decltype(std::declval< FigureOfMerit >().evaluator(std::declval< Storage< LR, ET, COMPRESS, PLO > >())) Evaluator
typedef LatticeTester::CoordinateSets::AddCoordinate< LatticeTester::CoordinateSets::FromRangesProjections

Public Member Functions

 CBC (Storage< LR, ET, COMPRESS, PLO > storage, const FigureOfMerit &figure)
 Constructor.
void reset ()
 Resets the state of the CBC algorithm to dimension 0.
const Storage< LR, ET, COMPRESS, PLO > & storage () const
 Returns the storage configuration instance.
const FigureOfMeritfigureOfMerit () const
 Returns the figure of merit.
const Evaluator & evaluator () const
 Returns the figure of merit evaluator.
const LatDefbaseLat () const
 Returns the base lattice.
const MeritValue & baseMerit () const
 Returns the base merit value.
Projections projections () const
 Returns a sequence of coordinate sets corresponding to the all projections that comprise the next coordinate to be appended.
template<typename GENSEQ>
Seq< GENSEQ > meritSeq (GENSEQ genSeq) const
 Creates a new sequence of merit values by appending the values in genSeq to the generating vector of the base lattice.
template<typename IT>
void select (const IT &it)
 Selects the element pointed to by the iterator.

Detailed Description

template<LatticeType LR, EmbeddingType ET, Compress COMPRESS, PerLevelOrder PLO, class PROJDEP, template< typename > class ACC>
class LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC >

Sequence of lattice merit for CBC exploration.

This class is intended to be used with the following steps:

  1. Instantiate. At that point, the dimension is zero.
  2. Iterate over the sequence of merit values and lattices for the next dimension with CBC::Seq::begin() and CBC::Seq::end().
  3. Select an element from the sequence with select(). This increases the current dimension by one.
  4. Repeat from step 2 until desired dimension is reached.

Constructor & Destructor Documentation

◆ CBC()

template<LatticeType LR, EmbeddingType ET, Compress COMPRESS, PerLevelOrder PLO, class PROJDEP, template< typename > class ACC>
LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC >::CBC ( Storage< LR, ET, COMPRESS, PLO > storage,
const FigureOfMerit & figure )
inline

Constructor.

Parameters
storageStorage configuration.
figureFigure of merit instance to be used.

References evaluator(), figureOfMerit(), and storage().

Referenced by LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC >::Seq< GENSEQ >::Seq().

Member Function Documentation

◆ baseLat()

template<LatticeType LR, EmbeddingType ET, Compress COMPRESS, PerLevelOrder PLO, class PROJDEP, template< typename > class ACC>
const LatDef & LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC >::baseLat ( ) const
inline

Returns the base lattice.

This sequence extends on the lattice base by increasing its dimension by one.

See also
baseMerit()

Referenced by meritSeq(), and projections().

◆ baseMerit()

template<LatticeType LR, EmbeddingType ET, Compress COMPRESS, PerLevelOrder PLO, class PROJDEP, template< typename > class ACC>
const MeritValue & LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC >::baseMerit ( ) const
inline

Returns the base merit value.

The merit values contained in this sequence are based on the value returned by this function.

See also
baseLat()

◆ meritSeq()

template<LatticeType LR, EmbeddingType ET, Compress COMPRESS, PerLevelOrder PLO, class PROJDEP, template< typename > class ACC>
template<typename GENSEQ>
Seq< GENSEQ > LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC >::meritSeq ( GENSEQ genSeq) const
inline

Creates a new sequence of merit values by appending the values in genSeq to the generating vector of the base lattice.

Parameters
genSeqSequence of generator values.

References baseLat(), and LatBuilder::LatSeq::cbc().

◆ select()

template<LatticeType LR, EmbeddingType ET, Compress COMPRESS, PerLevelOrder PLO, class PROJDEP, template< typename > class ACC>
template<typename IT>
void LatBuilder::MeritSeq::CBC< LR, ET, COMPRESS, PLO, PROJDEP, ACC >::select ( const IT & it)
inline

Selects the element pointed to by the iterator.

Returns true if and only if the sequence of generator sequences is not exhausted.

Parameters
itIterator on the element of the sequence to be selected.

The documentation for this class was generated from the following file:
  • include/latbuilder/MeritSeq/CBC.h