Lattice Builder Manual Software Package for Constructing Rank-1 Lattices

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
LatBuilder::MeritSeq::CBC< LAT, COMPRESS, PROJDEP, ACC > Class Template Reference

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

`#include <CBC.h>`

## Classes
class | Seq
| Output sequence of merit values. More...

## Public Types
typedef WeightedFigureOfMerit < PROJDEP, ACC > | FigureOfMerit
typedef Storage< LAT, COMPRESS > ::MeritValue | MeritValue
typedef LatBuilder::LatDef< LAT > | LatDef
typedef MeritValue | value_type
typedef LatCommon::CoordinateSets::AddCoordinate < LatCommon::CoordinateSets::FromRanges > | Projections

## Public Member Functions
| CBC (Storage< LAT, COMPRESS > storage, const FigureOfMerit &figure)
| Constructor. More...
void | reset ()
| Resets the state of the CBC algorithm to dimension 0.
const Storage< LAT, COMPRESS > & | storage () const
| Returns the storage configuration instance.
const FigureOfMerit & | figureOfMerit () const
| Returns the figure of merit.
const Evaluator & | evaluator () const
| Returns the figure of merit evaluator.
const LatDef & | baseLat () const
| Returns the base lattice. More...
const MeritValue & | baseMerit () const
| Returns the base merit value. More...
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. More...
template<typename IT >
void | select (const IT &it)
| Selects the element pointed to by the iterator. More...

## Public Attributes
decltype(std::declval < FigureOfMerit >().evaluator(std::declval < Storage< LAT, COMPRESS > >())) typedef | Evaluator

## Detailed Description

### template<LatType LAT, Compress COMPRESS, class PROJDEP, template< typename > class ACC>
class LatBuilder::MeritSeq::CBC< LAT, COMPRESS, PROJDEP, ACC >

Sequence of lattice merit for CBC construction.

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

template<LatType LAT, Compress COMPRESS, class PROJDEP, template< typename > class ACC>

LatBuilder::MeritSeq::CBC< LAT, COMPRESS, PROJDEP, ACC >::CBC | ( | Storage< LAT, COMPRESS > | storage,
|  | const FigureOfMerit & | figure
| ) |  |
| inline

Constructor.

Parameters

  storage | Storage configuration.
  figure | Figure of merit instance to be used.

## Member Function Documentation

template<LatType LAT, Compress COMPRESS, class PROJDEP, template< typename > class ACC>

const LatDef& LatBuilder::MeritSeq::CBC< LAT, COMPRESS, 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 LatBuilder::MeritSeq::LatSeqOverCBC< CBC >::Seq< LATSEQ >::element(), LatBuilder::MeritSeq::CBC< LAT, COMPRESS, PROJDEP, ACC >::meritSeq(), and LatBuilder::MeritSeq::CBC< LAT, COMPRESS, PROJDEP, ACC >::projections().

template<LatType LAT, Compress COMPRESS, class PROJDEP, template< typename > class ACC>

const MeritValue& LatBuilder::MeritSeq::CBC< LAT, COMPRESS, 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()

Referenced by LatBuilder::MeritSeq::LatSeqOverCBC< CBC >::Seq< LATSEQ >::element(), and LatBuilder::MeritSeq::CBC< LAT, COMPRESS, PROJDEP, ACC >::Seq< GENSEQ >::element().

template<LatType LAT, Compress COMPRESS, class PROJDEP, template< typename > class ACC>
template<typename GENSEQ >

Seq<GENSEQ> LatBuilder::MeritSeq::CBC< LAT, COMPRESS, 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

  genSeq | Sequence of generator values.

References LatBuilder::MeritSeq::CBC< LAT, COMPRESS, PROJDEP, ACC >::baseLat(), and LatBuilder::LatSeq::cbc().

Referenced by LatBuilder::MeritSeq::LatSeqOverCBC< CBC >::Seq< LATSEQ >::element().

template<LatType LAT, Compress COMPRESS, class PROJDEP, template< typename > class ACC>
template<typename IT >

void LatBuilder::MeritSeq::CBC< LAT, COMPRESS, 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

  it | Iterator on the element of the sequence to be selected.

Referenced by LatBuilder::MeritSeq::LatSeqOverCBC< CBC >::Seq< LATSEQ >::element().

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

- latbuilder/include/latbuilder/MeritSeq/CBC.h