wrapper.h File Reference
#include "nr/matrix.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  Wrapper
 Wrapper. This class provides an externally callable API for LLL reducing some basis b. This class forcibly instantiates some template declarations (see FPLLL_DECLARE_LLL(T) for more information at the bottom of this class) and provides an interface for calling provable, heuristic and fast variants of both LLL and HLLL. More...
 

Macros

#define FPLLL_DECLARE_LLL(T)
 
#define FPLLL_DECLARE_HLLL(T)
 

Macro Definition Documentation

◆ FPLLL_DECLARE_HLLL

#define FPLLL_DECLARE_HLLL (   T)
Value:
int hlll_reduction(ZZ_mat<T> &b, double delta = LLL_DEF_DELTA, double eta = LLL_DEF_ETA, \
double theta = HLLL_DEF_THETA, double c = HLLL_DEF_C, \
int precision = 0, int flags = LLL_DEFAULT, bool nolll = false); \
int hlll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, double delta = LLL_DEF_DELTA, \
double eta = LLL_DEF_ETA, double theta = HLLL_DEF_THETA, \
double c = HLLL_DEF_C, LLLMethod method = LM_WRAPPER, \
FloatType float_type = FT_DEFAULT, int precision = 0, \
int flags = LLL_DEFAULT, bool nolll = false); \
int hlll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, ZZ_mat<T> &u_inv, double delta = LLL_DEF_DELTA, \
double eta = LLL_DEF_ETA, double theta = HLLL_DEF_THETA, \
double c = HLLL_DEF_C, LLLMethod method = LM_WRAPPER, \
FloatType float_type = FT_DEFAULT, int precision = 0, \
int flags = LLL_DEFAULT, bool nolll = false);
Definition: matrix.h:244
const double LLL_DEF_DELTA
Definition: defs.h:143
const double LLL_DEF_ETA
Definition: defs.h:144
LLLMethod
Definition: defs.h:187
@ LM_WRAPPER
Definition: defs.h:188
const double HLLL_DEF_C
Definition: defs.h:151
FloatType
Definition: defs.h:210
@ FT_DEFAULT
Definition: defs.h:211
const double HLLL_DEF_THETA
Definition: defs.h:149
@ LLL_DEFAULT
Definition: defs.h:227
fplll_float float_type
Definition: enumeration.h:61

We define HLLL for each input type instead of using a template, in order to force the compiler to instantiate the functions.

◆ FPLLL_DECLARE_LLL

#define FPLLL_DECLARE_LLL (   T)
Value:
int lll_reduction(ZZ_mat<T> &b, double delta = LLL_DEF_DELTA, double eta = LLL_DEF_ETA, \
LLLMethod method = LM_WRAPPER, FloatType floatType = FT_DEFAULT, \
int precision = 0, int flags = LLL_DEFAULT); \
\
int lll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, double delta = LLL_DEF_DELTA, \
double eta = LLL_DEF_ETA, LLLMethod method = LM_WRAPPER, \
FloatType floatType = FT_DEFAULT, int precision = 0, int flags = LLL_DEFAULT); \
\
int lll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, ZZ_mat<T> &u_inv, double delta = LLL_DEF_DELTA, \
double eta = LLL_DEF_ETA, LLLMethod method = LM_WRAPPER, \
FloatType floatType = FT_DEFAULT, int precision = 0, int flags = LLL_DEFAULT);