LatNet Builder Manual 2.1.3-6
Software Package for Constructing Highly Uniform Point Sets
Loading...
Searching...
No Matches
Util.h File Reference

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

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

Namespaces

namespace  LatBuilder
 LatBuilder namespace.

Functions

template<typename T>
LatBuilder::intPow (T base, unsigned long exponent)
 Integer exponentiation.
Polynomial LatBuilder::PolynomialFromInt (uInteger x)
 convert Integer to polynomial
uInteger LatBuilder::IndexOfPolynomial (Polynomial P)
 convert polynomial to integer
template<typename T>
LatBuilder::modularPow (T base, uInteger exponent, T modulus)
 Modular exponentiation.
std::vector< uIntegerLatBuilder::primeFactors (uInteger n, bool raise=false)
 Prime factorization using the naive "trial division" algorithm.
std::map< uInteger, uIntegerLatBuilder::primeFactorsMap (uInteger n)
 Prime factorization using the naive "trial division" algorithm.
std::pair< long long, long long > LatBuilder::egcd (uInteger a, uInteger b)
 Extended Euclidian algorithm.
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} \)
uInteger LatBuilder::log2Int (unsigned int n)
std::string LatBuilder::getDefaultPolynomial (unsigned int degree)
 Returns a default polynomial of degree degree.
std::string LatBuilder::to_string (LatticeType LT)

Detailed Description

Tools for streaming and poor man's factorization.