|
Lattice Tester Online Documentation unknown
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
|
These functions are in the NTL namespace. More...
Functions | |
| double | LLL_FP64 (NTL::Mat< long > &B, const double delta=0.99, long r=0, long c=0, NTL::Vec< double > *sqlen=0) |
| This function is similar to LLL_FP in NTL, but only the first r rows and first c columns of the matrix B are considered, and a basis is built for the lattice generated by these (partial) rows. | |
| double | BKZ_FP64 (NTL::Mat< long > &BB, const double delta=0.99, long blocksize=10, long prune=0, long r=0, long c=0, NTL::Vec< double > *sqlen=0) |
| This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FP64 above. | |
| double | LLL_FP_lt (mat_ZZ &B, double delta=0.99, long r=0, long c=0, vec_double *sqlen=0) |
| This function is similar to LLL_FP in NTL, but only the first r rows and first c columns of the matrix B are considered, a basis is built for the lattice generated by these (partial) rows, and the square lengths of the returned basis vectors are returned in sqlen. | |
| double | BKZ_FP_lt (mat_ZZ &BB, double delta=0.99, long blocksize=10, long prune=0, long r=0, long c=0, vec_double *sqlen=0) |
| This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FPInt above. | |
| xdouble | LLL_XD_lt (mat_ZZ &B, double delta=0.99, long r=0, long c=0, vec_xdouble *sqlen=0) |
| xdouble | BKZ_XD_lt (mat_ZZ &BB, double delta=0.99, long blocksize=10, long prune=0, long r=0, long c=0, vec_xdouble *sqlen=0) |
| This function is similar to BKZ_XD in NTL, with the same modifications as in LLL_FPInt above. | |
| quad_float | LLL_QP_lt (mat_ZZ &B, double delta=0.99, long r=0, long c=0, vec_quad_float *sqlen=0) |
| quad_float | BKZ_QP_lt (mat_ZZ &BB, double delta=0.99, long blocksize=10, long prune=0, long r=0, long c=0, vec_quad_float *sqlen=0) |
| This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FPInt above. | |
| RR | LLL_RR_lt (mat_ZZ &B, double delta=0.99, long r=0, long c=0, vec_RR *sqlen=0) |
| RR | BKZ_RR_lt (mat_ZZ &B, double delta=0.99, long blocksize=10, long prune=0, long r=0, long c=0, vec_RR *sqlen=0) |
| These two functions are wrappers of BKZ_RR in NTL, with the same modifications as in LLL_RR_lt above. | |
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 | 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 | 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 | IsZero (const std::int64_t &x) |
| Returns the bool resulting of the statement x == 0. | |
| void | clear (double &x) |
| Sets x to 0. | |
| void | clear (std::int64_t &x) |
| Sets x to 0. | |
| std::int64_t | IsOdd (const std::int64_t &x) |
| Tests if x is odd. | |
| void | set (std::int64_t &x) |
| Sets x to 1. | |
Mathematical functions | |
These are complementary overloads to NTL power functions. | |
| std::int64_t | power (std::int64_t p, std::int64_t i) |
| Returns \(p^i\). | |
| void | power2 (std::int64_t &z, std::int64_t i) |
| Sets \(z = 2^i\). | |
| void | power2 (NTL::ZZ &z, std::int64_t i) |
| Sets \(z = 2^i\). | |
Inline functions for certain operators, again for compatibility with NTL. | |
| static void | add (int64_t &x, const int64_t a, const int64_t b) |
| static void | sub (int64_t &x, const int64_t a, const int64_t b) |
| static void | SubPos (int64_t &x, const int64_t a, const int64_t b) |
| static void | negate (int64_t &x, const int64_t a) |
| static void | mul (int64_t &x, const int64_t a, const int64_t b) |
| static void | div (int64_t &x, const int64_t a, const int64_t b) |
| static void | rem (int64_t &x, const int64_t a, const int64_t b) |
| static void | sqr (int64_t &x, const int64_t a) |
| static void | MulAddTo (int64_t &x, const int64_t a, const int64_t b) |
| static void | MulSubFrom (int64_t &x, int64_t a, int64_t b) |
| static void | LeftShift (int64_t &x, const int64_t a, int64_t k) |
| static void | RightShift (int64_t &x, const int64_t a, int64_t k) |
These functions are in the NTL namespace.
| double NTL::LLL_FP64 | ( | NTL::Mat< long > & | B, |
| const double | delta = 0.99, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| NTL::Vec< double > * | sqlen = 0 ) |
This function is similar to LLL_FP in NTL, but only the first r rows and first c columns of the matrix B are considered, and a basis is built for the lattice generated by these (partial) rows.
The other elements of B are ignored. The basis is returned in the upper left corner of B, with the shortest basis vector always in the first row. If r=0, then all the rows of the IntMat object are taken. If c=0, then all the columns are taken. The square lengths of the returned basis vectors are also returned in the double vector sqlen, in sqlen[0],..., sqlen[d-1], if this vector given. The indices of B and sqlen start at 0. The function returns the dimension of the computed basis (the number of independent rows).
| double NTL::BKZ_FP64 | ( | NTL::Mat< long > & | BB, |
| const double | delta = 0.99, | ||
| long | blocksize = 10, | ||
| long | prune = 0, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| NTL::Vec< double > * | sqlen = 0 ) |
This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FP64 above.
| double NTL::LLL_FP_lt | ( | mat_ZZ & | B, |
| double | delta = 0.99, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_double * | sqlen = 0 ) |
This function is similar to LLL_FP in NTL, but only the first r rows and first c columns of the matrix B are considered, a basis is built for the lattice generated by these (partial) rows, and the square lengths of the returned basis vectors are returned in sqlen.
| double NTL::BKZ_FP_lt | ( | mat_ZZ & | BB, |
| double | delta = 0.99, | ||
| long | blocksize = 10, | ||
| long | prune = 0, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_double * | sqlen = 0 ) |
This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FPInt above.
| xdouble NTL::LLL_XD_lt | ( | mat_ZZ & | B, |
| double | delta = 0.99, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_xdouble * | sqlen = 0 ) |
| xdouble NTL::BKZ_XD_lt | ( | mat_ZZ & | BB, |
| double | delta = 0.99, | ||
| long | blocksize = 10, | ||
| long | prune = 0, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_xdouble * | sqlen = 0 ) |
This function is similar to BKZ_XD in NTL, with the same modifications as in LLL_FPInt above.
| quad_float NTL::LLL_QP_lt | ( | mat_ZZ & | B, |
| double | delta = 0.99, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_quad_float * | sqlen = 0 ) |
| quad_float NTL::BKZ_QP_lt | ( | mat_ZZ & | BB, |
| double | delta = 0.99, | ||
| long | blocksize = 10, | ||
| long | prune = 0, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_quad_float * | sqlen = 0 ) |
This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FPInt above.
| RR NTL::LLL_RR_lt | ( | mat_ZZ & | B, |
| double | delta = 0.99, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_RR * | sqlen = 0 ) |
| RR NTL::BKZ_RR_lt | ( | mat_ZZ & | B, |
| double | delta = 0.99, | ||
| long | blocksize = 10, | ||
| long | prune = 0, | ||
| long | r = 0, | ||
| long | c = 0, | ||
| vec_RR * | sqlen = 0 ) |
These two functions are wrappers of BKZ_RR in NTL, with the same modifications as in LLL_RR_lt above.
|
inline |
Converts the array of characters (string) c into an std::int64_t l using the strtol() function of cstdlib.h.
|
inline |
Converts the array of characters (string) c into a double r using the strtod() function of cstdlib.h.
|
inline |
Returns the bool resulting of the statement x == 0.
IsZero is already defined for the type NTL::ZZ in NTL, but not for std::int64_t.
|
inline |
Sets x to 0.
|
inline |
Sets x to 0.
|
inline |
Tests if x is odd.
Returns 1 if it is odd, and 0 if it is even.
|
inline |
Sets x to 1.
|
inline |
Returns \(p^i\).
|
inline |
Sets \(z = 2^i\).
|
inline |
Sets \(z = 2^i\).
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |