Lattice Tester Online Documentation 0.1.0-861
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
Loading...
Searching...
No Matches
LLL_QP_lt.cc File Reference
#include <NTL/vec_quad_float.h>
#include <NTL/fileio.h>
#include <NTL/LLL.h>
#include <latticetester/LLL_lt.h>

Macros

#define TR_BND   (NTL_FDOUBLE_PRECISION/2.0)
 

Functions

static NTL_START_IMPL void CheckFinite (double *p)
 
static void CheckFinite (quad_float *p)
 
static quad_float InnerProduct (quad_float *a, quad_float *b, long n)
 
static void RowTransform (vec_ZZ &A, vec_ZZ &B, const ZZ &MU1)
 
static double max_abs (quad_float *v, long n)
 
static void RowTransformStart (quad_float *a, long *in_a, long &in_float, long n)
 
static void RowTransformFinish (vec_ZZ &A, quad_float *a, long *in_a)
 
static void RowTransform (vec_ZZ &A, vec_ZZ &B, const ZZ &MU1, quad_float *a, quad_float *b, long *in_a, double &max_a, double max_b, long &in_float)
 
static void RowTransform2 (vec_ZZ &A, vec_ZZ &B, const ZZ &MU1)
 
static void ComputeGS (mat_ZZ &B, quad_float **B1, quad_float **mu, quad_float *b, quad_float *c, long k, double bound, long st, quad_float *buf)
 
 NTL_TLS_GLOBAL_DECL_INIT (quad_float, red_fudge,(to_quad_float(0))) static NTL_CHEAP_THREAD_LOCAL long log_red=0
 
static void init_red_fudge ()
 
static void inc_red_fudge ()
 
static long ll_LLL_QP (mat_ZZ &B, mat_ZZ *U, quad_float delta, long deep, LLLCheckFct check, quad_float **B1, quad_float **mu, quad_float *b, quad_float *c, long m, long init_k, long &quit)
 
long LLL_QP_lt (mat_ZZ &BB, double delta, long m, long n, vec_quad_float *sqlen)
 
static void ComputeBKZConstant (long beta, long p)
 
static void ComputeBKZThresh (quad_float *c, long beta)
 
long BKZ_QP_lt (mat_ZZ &BB, const quad_float delta, long beta, long prune, long m, long n, vec_quad_float *sqlen)
 
long BKZ_QP_lt (mat_ZZ &BB, double delta, long beta, long prune, long m, long n, vec_quad_float *sqlen)
 This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FPInt above.
 

Variables

static NTL_CHEAP_THREAD_LOCAL unsigned long NumSwaps = 0
 

Macro Definition Documentation

◆ TR_BND

#define TR_BND   (NTL_FDOUBLE_PRECISION/2.0)

Function Documentation

◆ BKZ_QP_lt() [1/2]

long BKZ_QP_lt ( mat_ZZ & BB,
const quad_float delta,
long beta,
long prune,
long m,
long n,
vec_quad_float * sqlen )

◆ BKZ_QP_lt() [2/2]

long BKZ_QP_lt ( mat_ZZ & BB,
double delta,
long beta,
long prune,
long m,
long n,
vec_quad_float * sqlen )

This function is similar to BKZ_FP in NTL, with the same modifications as in LLL_FPInt above.

◆ CheckFinite() [1/2]

static NTL_START_IMPL void CheckFinite ( double * p)
inlinestatic

◆ CheckFinite() [2/2]

static void CheckFinite ( quad_float * p)
inlinestatic

◆ ComputeBKZConstant()

static void ComputeBKZConstant ( long beta,
long p )
static

◆ ComputeBKZThresh()

static void ComputeBKZThresh ( quad_float * c,
long beta )
static

◆ ComputeGS()

static void ComputeGS ( mat_ZZ & B,
quad_float ** B1,
quad_float ** mu,
quad_float * b,
quad_float * c,
long k,
double bound,
long st,
quad_float * buf )
static

◆ inc_red_fudge()

static void inc_red_fudge ( )
static

◆ init_red_fudge()

static void init_red_fudge ( )
static

◆ InnerProduct()

static quad_float InnerProduct ( quad_float * a,
quad_float * b,
long n )
static

◆ ll_LLL_QP()

static long ll_LLL_QP ( mat_ZZ & B,
mat_ZZ * U,
quad_float delta,
long deep,
LLLCheckFct check,
quad_float ** B1,
quad_float ** mu,
quad_float * b,
quad_float * c,
long m,
long init_k,
long & quit )
static

◆ LLL_QP_lt()

long LLL_QP_lt ( mat_ZZ & BB,
double delta,
long m,
long n,
vec_quad_float * sqlen )

◆ max_abs()

static double max_abs ( quad_float * v,
long n )
static

◆ NTL_TLS_GLOBAL_DECL_INIT()

NTL_TLS_GLOBAL_DECL_INIT ( quad_float ,
red_fudge ,
(to_quad_float(0))  )
pure virtual

◆ RowTransform() [1/2]

static void RowTransform ( vec_ZZ & A,
vec_ZZ & B,
const ZZ & MU1 )
static

◆ RowTransform() [2/2]

static void RowTransform ( vec_ZZ & A,
vec_ZZ & B,
const ZZ & MU1,
quad_float * a,
quad_float * b,
long * in_a,
double & max_a,
double max_b,
long & in_float )
static

◆ RowTransform2()

static void RowTransform2 ( vec_ZZ & A,
vec_ZZ & B,
const ZZ & MU1 )
static

◆ RowTransformFinish()

static void RowTransformFinish ( vec_ZZ & A,
quad_float * a,
long * in_a )
static

◆ RowTransformStart()

static void RowTransformStart ( quad_float * a,
long * in_a,
long & in_float,
long n )
static

Variable Documentation

◆ NumSwaps

NTL_CHEAP_THREAD_LOCAL unsigned long NumSwaps = 0
static