Lattice Tester Online Documentation unknown
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
Loading...
Searching...
No Matches
NTLWrap.h File Reference

This file offers a few basic utilities not available in NTL. More...

Namespaces

namespace  NTL
 These functions are in the NTL namespace.
 

Functions

Conversion functions for compatibility with NTL.

These functions perform conversions between different types.

Most of them do not really need explanations, but sometimes a specific logic is used when doing the conversion.

void NTL::conv (std::int64_t &l, const char *c)
 Converts the array of characters (string) c into an std::int64_t l using the strtol() function of cstdlib.h.
 
void NTL::conv (double &r, const char *c)
 Converts the array of characters (string) c into a double r using the strtod() function of cstdlib.h.
 
bool NTL::IsZero (const std::int64_t &x)
 Returns the bool resulting of the statement x == 0.
 
void NTL::clear (double &x)
 Sets x to 0.
 
void NTL::clear (std::int64_t &x)
 Sets x to 0.
 
std::int64_t NTL::IsOdd (const std::int64_t &x)
 Tests if x is odd.
 
void NTL::set (std::int64_t &x)
 Sets x to 1.
 
Mathematical functions

These are complementary overloads to NTL power functions.

std::int64_t NTL::power (std::int64_t p, std::int64_t i)
 Returns \(p^i\).
 
void NTL::power2 (std::int64_t &z, std::int64_t i)
 Sets \(z = 2^i\).
 
void NTL::power2 (NTL::ZZ &z, std::int64_t i)
 Sets \(z = 2^i\).
 
Inline functions for certain operators, again for compatibility with NTL.
static void NTL::add (int64_t &x, const int64_t a, const int64_t b)
 
static void NTL::sub (int64_t &x, const int64_t a, const int64_t b)
 
static void NTL::SubPos (int64_t &x, const int64_t a, const int64_t b)
 
static void NTL::negate (int64_t &x, const int64_t a)
 
static void NTL::mul (int64_t &x, const int64_t a, const int64_t b)
 
static void NTL::div (int64_t &x, const int64_t a, const int64_t b)
 
static void NTL::rem (int64_t &x, const int64_t a, const int64_t b)
 
static void NTL::sqr (int64_t &x, const int64_t a)
 
static void NTL::MulAddTo (int64_t &x, const int64_t a, const int64_t b)
 
static void NTL::MulSubFrom (int64_t &x, int64_t a, int64_t b)
 
static void NTL::LeftShift (int64_t &x, const int64_t a, int64_t k)
 
static void NTL::RightShift (int64_t &x, const int64_t a, int64_t k)
 

Detailed Description

This file offers a few basic utilities not available in NTL.

It is in the NTL namespace because it was initially seen (historically) as an expansion of NTL.