18#ifndef FPLLL_WRAPPER_H 
   19#define FPLLL_WRAPPER_H 
   59          double theta, 
double c, 
int flags);
 
   75#ifdef FPLLL_WITH_ZLONG 
   87  bool little(
int kappa, 
int precision);
 
   89  template <
class Z, 
class F>
 
   91               double delta, 
double eta);
 
   93  template <
class F> 
int fast_lll(
double delta, 
double eta);
 
   95  template <
class Z, 
class F>
 
   99  template <
class Z, 
class F>
 
  103  int heuristic_loop(
int precision);
 
  104  int proved_loop(
int precision);
 
  107  void set_use_long(
bool value);
 
  108  int increase_prec(
int precision);
 
  121  template <
class F> 
bool call_hlll(
LLLMethod method, 
int precision);
 
  124  template <
class F> 
bool fast_hlll();
 
  127  template <
class F> 
bool proved_hlll(
int precision);
 
  130  int hlll_proved_loop(
int precision);
 
  136#define FPLLL_DECLARE_LLL(T)                                                                       \ 
  137  int lll_reduction(ZZ_mat<T> &b, double delta = LLL_DEF_DELTA, double eta = LLL_DEF_ETA,          \ 
  138                    LLLMethod method = LM_WRAPPER, FloatType floatType = FT_DEFAULT,               \ 
  139                    int precision = 0, int flags = LLL_DEFAULT);                                   \ 
  141  int lll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, double delta = LLL_DEF_DELTA,                      \ 
  142                    double eta = LLL_DEF_ETA, LLLMethod method = LM_WRAPPER,                       \ 
  143                    FloatType floatType = FT_DEFAULT, int precision = 0, int flags = LLL_DEFAULT); \ 
  145  int lll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, ZZ_mat<T> &u_inv, double delta = LLL_DEF_DELTA,    \ 
  146                    double eta = LLL_DEF_ETA, LLLMethod method = LM_WRAPPER,                       \ 
  147                    FloatType floatType = FT_DEFAULT, int precision = 0, int flags = LLL_DEFAULT); 
  151#ifdef FPLLL_WITH_ZLONG 
  155#ifdef FPLLL_WITH_ZDOUBLE 
  165#define FPLLL_DECLARE_HLLL(T)                                                                      \ 
  166  int hlll_reduction(ZZ_mat<T> &b, double delta = LLL_DEF_DELTA, double eta = LLL_DEF_ETA,         \ 
  167                     double theta = HLLL_DEF_THETA, double c = HLLL_DEF_C,                         \ 
  168                     LLLMethod method = LM_WRAPPER, FloatType float_type = FT_DEFAULT,             \ 
  169                     int precision = 0, int flags = LLL_DEFAULT, bool nolll = false);              \ 
  170  int hlll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, double delta = LLL_DEF_DELTA,                     \ 
  171                     double eta = LLL_DEF_ETA, double theta = HLLL_DEF_THETA,                      \ 
  172                     double c = HLLL_DEF_C, LLLMethod method = LM_WRAPPER,                         \ 
  173                     FloatType float_type = FT_DEFAULT, int precision = 0,                         \ 
  174                     int flags = LLL_DEFAULT, bool nolll = false);                                 \ 
  175  int hlll_reduction(ZZ_mat<T> &b, ZZ_mat<T> &u, ZZ_mat<T> &u_inv, double delta = LLL_DEF_DELTA,   \ 
  176                     double eta = LLL_DEF_ETA, double theta = HLLL_DEF_THETA,                      \ 
  177                     double c = HLLL_DEF_C, LLLMethod method = LM_WRAPPER,                         \ 
  178                     FloatType float_type = FT_DEFAULT, int precision = 0,                         \ 
  179                     int flags = LLL_DEFAULT, bool nolll = false); 
  183#ifdef FPLLL_WITH_ZLONG 
  187#ifdef FPLLL_WITH_ZDOUBLE 
Wrapper. This class provides an externally callable API for LLL reducing some basis b....
Definition: wrapper.h:51
bool hlll()
Definition: wrapper.cpp:478
bool lll()
Definition: wrapper.cpp:281
int status
Definition: wrapper.h:68
Wrapper(ZZ_mat< mpz_t > &b, ZZ_mat< mpz_t > &u, ZZ_mat< mpz_t > &u_inv, double delta, double eta, int flags)
Definition: wrapper.cpp:45
LLLMethod
Definition: defs.h:187
#define FPLLL_END_NAMESPACE
Definition: defs.h:117
#define FPLLL_BEGIN_NAMESPACE
Definition: defs.h:114
#define FPLLL_DECLARE_HLLL(T)
Definition: wrapper.h:165
#define FPLLL_DECLARE_LLL(T)
Definition: wrapper.h:136