LatNet Builder Manual 2.1.3-6
Software Package for Constructing Highly Uniform Point Sets
Loading...
Searching...
No Matches
LatBuilder::BasicSizeParam< DERIVED > Class Template Reference

Abstract CRTP base class for lattice size parameter. More...

#include <SizeParam.h>

Public Types

typedef SizeParamTraits< DERIVED >::Modulus Modulus
typedef SizeParamTraits< DERIVED >::size_type size_type

Public Member Functions

 BasicSizeParam (Modulus modulus)
Modulus modulus () const
size_type numPoints () const
 operator Modulus () const
size_t totient () const
 Returns the value of Euler's totient function.
template<class D>
bool operator== (const BasicSizeParam< D > &other) const
template<class D>
bool operator!= (const BasicSizeParam< D > &other) const
template<class D>
bool operator< (const BasicSizeParam< D > &other) const
void normalize (Real &merit) const
 Divides the merit value merit by the number of points.
void normalize (RealVector &merit) const
 Divides the each merit value in merit by the number of points.
unsigned int log2NumPoints () const

Protected Member Functions

 BasicSizeParam (const BasicSizeParam &)=default

Friends

template<class D>
std::ostream & operator<< (std::ostream &os, const BasicSizeParam< D > &sizeParam)

Detailed Description

template<class DERIVED>
class LatBuilder::BasicSizeParam< DERIVED >

Abstract CRTP base class for lattice size parameter.

Member Function Documentation

◆ totient()

template<class DERIVED>
size_t LatBuilder::BasicSizeParam< DERIVED >::totient ( ) const
inline

Returns the value of Euler's totient function.

-For ordinary lattices: It is the number of positive integers that are smaller than and coprime to the modulus. -For polynomial lattices: It is the number of polynomials coprime with the modulus and with (strictly) smaller degree


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