LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
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. More...
 
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 &, const BasicSizeParam< D > &)
 

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: