Macros | |
#define | FPLLL_DEFINE_LLL(T, id_t) |
#define | FPLLL_DEFINE_HLLL(T, id_t) |
Functions | |
template<class ZT , class FT > | |
int | lll_reduction_zf (ZZ_mat< ZT > &b, ZZ_mat< ZT > &u, ZZ_mat< ZT > &u_inv, double delta, double eta, LLLMethod method, int flags) |
template<class ZT > | |
int | lll_reduction_wrapper (ZZ_mat< ZT > &, ZZ_mat< ZT > &, ZZ_mat< ZT > &, double, double, FloatType, int, int) |
template<> | |
int | lll_reduction_wrapper (ZZ_mat< mpz_t > &b, ZZ_mat< mpz_t > &u, ZZ_mat< mpz_t > &u_inv, double delta, double eta, FloatType float_type, int precision, int flags) |
template<class ZT > | |
int | lll_reduction_z (ZZ_mat< ZT > &b, ZZ_mat< ZT > &u, ZZ_mat< ZT > &u_inv, double delta, double eta, LLLMethod method, IntType int_type, FloatType float_type, int precision, int flags) |
template<class ZT , class FT > | |
int | is_hlll_reduced_zf (ZZ_mat< ZT > &b, ZZ_mat< ZT > &u, ZZ_mat< ZT > &u_inv, double delta, double eta, double theta) |
template<class ZT , class FT > | |
int | is_hlll_reduced_pr (ZZ_mat< ZT > &b, ZZ_mat< ZT > &u, ZZ_mat< ZT > &u_inv, double delta, double eta, double theta) |
template<class ZT > | |
int | hlll_reduction_wrapper (ZZ_mat< ZT > &, ZZ_mat< ZT > &, ZZ_mat< ZT > &, double, double, double, double, FloatType, int, int) |
template<> | |
int | hlll_reduction_wrapper (ZZ_mat< mpz_t > &b, ZZ_mat< mpz_t > &u, ZZ_mat< mpz_t > &u_inv, double delta, double eta, double theta, double c, FloatType float_type, int precision, int flags) |
template<class ZT , class FT > | |
int | hlll_reduction_zf (ZZ_mat< ZT > &b, ZZ_mat< ZT > &u, ZZ_mat< ZT > &u_inv, double delta, double eta, double theta, double c, LLLMethod method, int flags) |
template<class ZT > | |
int | hlll_reduction_z (ZZ_mat< ZT > &b, ZZ_mat< ZT > &u, ZZ_mat< ZT > &u_inv, double delta, double eta, double theta, double c, LLLMethod method, IntType int_type, FloatType float_type, int precision, int flags, bool nolll) |
Variables | |
FPLLL_BEGIN_NAMESPACE const double | dim_double_max [75] |
const double | eta_dep [10] |
Macro Definition Documentation
◆ FPLLL_DEFINE_HLLL
#define FPLLL_DEFINE_HLLL | ( | T, | |
id_t | |||
) |
We define HLLL for each input type instead of using a template, in order to force the compiler to instantiate the functions.
◆ FPLLL_DEFINE_LLL
#define FPLLL_DEFINE_LLL | ( | T, | |
id_t | |||
) |
We define LLL for each input type instead of using a template, in order to force the compiler to instantiate the functions.
Function Documentation
◆ hlll_reduction_wrapper() [1/2]
template<>
int hlll_reduction_wrapper | ( | ZZ_mat< mpz_t > & | b, |
ZZ_mat< mpz_t > & | u, | ||
ZZ_mat< mpz_t > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
double | theta, | ||
double | c, | ||
FloatType | float_type, | ||
int | precision, | ||
int | flags | ||
) |
◆ hlll_reduction_wrapper() [2/2]
template<class ZT >
int hlll_reduction_wrapper | ( | ZZ_mat< ZT > & | , |
ZZ_mat< ZT > & | , | ||
ZZ_mat< ZT > & | , | ||
double | , | ||
double | , | ||
double | , | ||
double | , | ||
FloatType | , | ||
int | , | ||
int | |||
) |
◆ hlll_reduction_z()
template<class ZT >
int hlll_reduction_z | ( | ZZ_mat< ZT > & | b, |
ZZ_mat< ZT > & | u, | ||
ZZ_mat< ZT > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
double | theta, | ||
double | c, | ||
LLLMethod | method, | ||
IntType | int_type, | ||
FloatType | float_type, | ||
int | precision, | ||
int | flags, | ||
bool | nolll | ||
) |
◆ hlll_reduction_zf()
template<class ZT , class FT >
int hlll_reduction_zf | ( | ZZ_mat< ZT > & | b, |
ZZ_mat< ZT > & | u, | ||
ZZ_mat< ZT > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
double | theta, | ||
double | c, | ||
LLLMethod | method, | ||
int | flags | ||
) |
◆ is_hlll_reduced_pr()
template<class ZT , class FT >
int is_hlll_reduced_pr | ( | ZZ_mat< ZT > & | b, |
ZZ_mat< ZT > & | u, | ||
ZZ_mat< ZT > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
double | theta | ||
) |
◆ is_hlll_reduced_zf()
template<class ZT , class FT >
int is_hlll_reduced_zf | ( | ZZ_mat< ZT > & | b, |
ZZ_mat< ZT > & | u, | ||
ZZ_mat< ZT > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
double | theta | ||
) |
◆ lll_reduction_wrapper() [1/2]
template<>
int lll_reduction_wrapper | ( | ZZ_mat< mpz_t > & | b, |
ZZ_mat< mpz_t > & | u, | ||
ZZ_mat< mpz_t > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
FloatType | float_type, | ||
int | precision, | ||
int | flags | ||
) |
◆ lll_reduction_wrapper() [2/2]
template<class ZT >
int lll_reduction_wrapper | ( | ZZ_mat< ZT > & | , |
ZZ_mat< ZT > & | , | ||
ZZ_mat< ZT > & | , | ||
double | , | ||
double | , | ||
FloatType | , | ||
int | , | ||
int | |||
) |
◆ lll_reduction_z()
template<class ZT >
int lll_reduction_z | ( | ZZ_mat< ZT > & | b, |
ZZ_mat< ZT > & | u, | ||
ZZ_mat< ZT > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
LLLMethod | method, | ||
IntType | int_type, | ||
FloatType | float_type, | ||
int | precision, | ||
int | flags | ||
) |
Main function called from call_lll().
◆ lll_reduction_zf()
template<class ZT , class FT >
int lll_reduction_zf | ( | ZZ_mat< ZT > & | b, |
ZZ_mat< ZT > & | u, | ||
ZZ_mat< ZT > & | u_inv, | ||
double | delta, | ||
double | eta, | ||
LLLMethod | method, | ||
int | flags | ||
) |
LLL with a typical method "proved or heuristic or fast". @proved: exact gram + exact rowexp + exact rowaddmul @heuristic: approx. gram + exact rowexp + exact rowaddmul @fast: approx. gram + approx. rowexp + approx. rowaddmul (double, long double, dd_real, qd_real)
Variable Documentation
◆ dim_double_max
FPLLL_BEGIN_NAMESPACE const double dim_double_max[75] |
Initial value:
= {
0, 26, 29.6, 28.1, 31.1, 32.6, 34.6, 34, 37.7, 38.8, 39.6, 41.8, 40.9,
43.6, 44.2, 47, 46.8, 50.6, 49.1, 51.5, 52.5, 54.8, 54.6, 57.4, 57.6, 59.9,
61.8, 62.3, 64.5, 67.1, 68.8, 68.3, 69.9, 73.1, 74, 76.1, 76.8, 80.9, 81.8,
83, 85.3, 87.9, 89, 90.1, 89, 94.6, 94.8, 98.7, 99, 101.6, 104.9, 106.8,
108.2, 107.4, 110, 112.7, 114.6, 118.1, 119.7, 121.8, 122.9, 126.6, 128.6, 129, 133.6,
126.9, 135.9, 139.5, 135.2, 137.2, 139.3, 142.8, 142.4, 142.5, 145.4}
◆ eta_dep
const double eta_dep[10] |
Initial value:
= {1.,
1.,
1.0521,
1.1254,
1.2535,
1.3957,
1.6231,
1.8189,
2.1025,
2.5117}