LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
Util.h File Reference

Tools for streaming and poor man's factorization. More...

#include "latbuilder/Types.h"
#include <map>
#include <vector>
#include <string>

Namespaces

 LatBuilder
 LatBuilder namespace.
 

Functions

template<typename T >
LatBuilder::intPow (T base, unsigned long exponent)
 Integer exponentiation. More...
 
Polynomial LatBuilder::PolynomialFromInt (uInteger x)
 convert Integer to polynomial More...
 
uInteger LatBuilder::IndexOfPolynomial (Polynomial P)
 convert polynomial to integer More...
 
template<typename T >
LatBuilder::modularPow (T base, uInteger exponent, T modulus)
 Modular exponentiation. More...
 
std::vector< uInteger > LatBuilder::primeFactors (uInteger n, bool raise=false)
 Prime factorization using the naive "trial division" algorithm. More...
 
std::map< uInteger, uInteger > LatBuilder::primeFactorsMap (uInteger n)
 Prime factorization using the naive "trial division" algorithm. More...
 
std::pair< long long, long long > LatBuilder::egcd (uInteger a, uInteger b)
 Extended Euclidian algorithm. More...
 
uInteger LatBuilder::Vm (const Polynomial &h, const Polynomial &P)
 computes The integer \(2^{\deg(P)}\nu_m(\frac{h} {p}) \)
where \(\nu_{m}\) is the mapping \(\nu_{m} : \mathbb{L}_{2} \rightarrow \mathbb{R} \)

\[ \nu_{m}(\sum_{l=\omega}^{\infty} x_{l} z^{-l}) = \sum_{l=\max(\omega,1)}^{m} x_{l} 2^{-l} \]

More...
 
uInteger LatBuilder::log2Int (unsigned int n)
 
std::string LatBuilder::getDefaultPolynomial (unsigned int degree)
 Returns a default polynomial of degree degree. More...
 
std::string LatBuilder::to_string (LatticeType LT)
 

Detailed Description

Tools for streaming and poor man's factorization.