CoxIter  1.3
CoxIter - Computing invariants of hyperbolic Coxeter groups
Functions | Variables
MathTools Namespace Reference

Functions

bool isPrime (unsigned int n)
 
int jacobiSymbol (int a_, unsigned b)
 
vector< unsigned int > primeFactorsWithoutSquares (unsigned int n)
 
mpz_class sqrtQuotient (const mpz_class &numerator, const mpz_class &denominator)
 
mpz_class sqrtSupQuotient (const mpz_class &numerator, const mpz_class &denominator)
 
template<typename Type >
std::enable_if< std::is_unsigned< Type >::value, Type >::type integerSqrt (Type n)
 
template<typename Type >
std::enable_if< std::is_unsigned< Type >::value, Type >::type sqrtSup (Type n)
 
template<typename Type >
vector< typename std::enable_if< std::is_unsigned< Type >::value, Type >::type > listDivisors (const Type &n, const bool &nonTrivialOnly=false)
 
template<typename Type >
std::enable_if< std::is_unsigned< Type >::value, Type >::type ugcd (Type u, Type v)
 
int jacobiSymbol (int a, unsigned int b)
 
template<typename Type >
vector< Type > primeFactors (const Type &n)
 
template<typename Type >
std::enable_if< std::is_unsigned< Type >::value, map< Type, unsigned int > >::type primeDecomposition (Type n)
 
template<typename Type >
Type iRemoveSquareFactors (Type n)
 
template<typename Type >
Type ceilQuotient (const Type &numerator, const Type &denominator)
 
template<typename Type >
std::enable_if< std::is_unsigned< Type >::value, Type >::type sqrtQuotient (const Type &numerator, const Type &denominator)
 
template<typename Type >
std::enable_if< std::is_unsigned< Type >::value, Type >::type sqrtSupQuotient (const Type &numerator, const Type &denominator)
 

Variables

unsigned int iSmallPrimeNumbers [1229]
 

Function Documentation

◆ ceilQuotient()

template<typename Type >
Type MathTools::ceilQuotient ( const Type &  numerator,
const Type &  denominator 
)
inline

◆ integerSqrt()

template<typename Type >
std::enable_if<std::is_unsigned<Type>::value, Type>::type MathTools::integerSqrt ( Type  n)

◆ iRemoveSquareFactors()

template<typename Type >
Type MathTools::iRemoveSquareFactors ( Type  n)

◆ isPrime()

bool MathTools::isPrime ( unsigned int  n)

◆ jacobiSymbol() [1/2]

int MathTools::jacobiSymbol ( int  a,
unsigned int  b 
)

◆ jacobiSymbol() [2/2]

int MathTools::jacobiSymbol ( int  a_,
unsigned  b 
)

◆ listDivisors()

template<typename Type >
vector<typename std::enable_if<std::is_unsigned<Type>::value, Type>::type> MathTools::listDivisors ( const Type &  n,
const bool &  nonTrivialOnly = false 
)

◆ primeDecomposition()

template<typename Type >
std::enable_if<std::is_unsigned<Type>::value, map<Type, unsigned int> >::type MathTools::primeDecomposition ( Type  n)

◆ primeFactors()

template<typename Type >
vector<Type> MathTools::primeFactors ( const Type &  n)

◆ primeFactorsWithoutSquares()

vector< unsigned int > MathTools::primeFactorsWithoutSquares ( unsigned int  n)

◆ sqrtQuotient() [1/2]

mpz_class MathTools::sqrtQuotient ( const mpz_class &  numerator,
const mpz_class &  denominator 
)

◆ sqrtQuotient() [2/2]

template<typename Type >
std::enable_if<std::is_unsigned<Type>::value, Type>::type MathTools::sqrtQuotient ( const Type &  numerator,
const Type &  denominator 
)

◆ sqrtSup()

template<typename Type >
std::enable_if<std::is_unsigned<Type>::value, Type>::type MathTools::sqrtSup ( Type  n)

◆ sqrtSupQuotient() [1/2]

mpz_class MathTools::sqrtSupQuotient ( const mpz_class &  numerator,
const mpz_class &  denominator 
)

◆ sqrtSupQuotient() [2/2]

template<typename Type >
std::enable_if<std::is_unsigned<Type>::value, Type>::type MathTools::sqrtSupQuotient ( const Type &  numerator,
const Type &  denominator 
)

◆ ugcd()

template<typename Type >
std::enable_if<std::is_unsigned<Type>::value, Type>::type MathTools::ugcd ( Type  u,
Type  v 
)

Variable Documentation

◆ iSmallPrimeNumbers

unsigned int MathTools::iSmallPrimeNumbers