gso_interface.cpp File Reference
#include "gso_interface.h"

Functions

template<class FT >
void adjust_radius_to_gh_bound (FT &max_dist, long max_dist_expo, int block_size, const FT &root_det, double gh_factor)
 Use Gaussian Heuristic to compute a bound on the length of the shortest vector. More...
 
template void adjust_radius_to_gh_bound< FP_NR< double > > (FP_NR< double > &max_dist, long max_dist_expo, int block_size, const FP_NR< double > &root_det, double gh_factor)
 
template void adjust_radius_to_gh_bound< FP_NR< long double > > (FP_NR< long double > &max_dist, long max_dist_expo, int block_size, const FP_NR< long double > &root_det, double gh_factor)
 
template void adjust_radius_to_gh_bound< FP_NR< dd_real > > (FP_NR< dd_real > &max_dist, long max_dist_expo, int block_size, const FP_NR< dd_real > &root_det, double gh_factor)
 
template void adjust_radius_to_gh_bound< FP_NR< qd_real > > (FP_NR< qd_real > &max_dist, long max_dist_expo, int block_size, const FP_NR< qd_real > &root_det, double gh_factor)
 
template void adjust_radius_to_gh_bound< FP_NR< dpe_t > > (FP_NR< dpe_t > &max_dist, long max_dist_expo, int block_size, const FP_NR< dpe_t > &root_det, double gh_factor)
 
template void adjust_radius_to_gh_bound< FP_NR< mpfr_t > > (FP_NR< mpfr_t > &max_dist, long max_dist_expo, int block_size, const FP_NR< mpfr_t > &root_det, double gh_factor)
 

Function Documentation

◆ adjust_radius_to_gh_bound()

template<class FT >
void adjust_radius_to_gh_bound ( FT &  max_dist,
long  max_dist_expo,
int  block_size,
const FT &  root_det,
double  gh_factor 
)

Use Gaussian Heuristic to compute a bound on the length of the shortest vector.

Parameters
max_distoutput
max_dist_expoexponent of output
block_sizeblock size
root_detroot determinant of lattice
gh_factorfactor by which to multiple bound
Returns
new bound if gh_factor * GH is shorter than max_dist, otherwise max_dist is unchanged.

◆ adjust_radius_to_gh_bound< FP_NR< dd_real > >()

template void adjust_radius_to_gh_bound< FP_NR< dd_real > > ( FP_NR< dd_real > &  max_dist,
long  max_dist_expo,
int  block_size,
const FP_NR< dd_real > &  root_det,
double  gh_factor 
)

◆ adjust_radius_to_gh_bound< FP_NR< double > >()

template void adjust_radius_to_gh_bound< FP_NR< double > > ( FP_NR< double > &  max_dist,
long  max_dist_expo,
int  block_size,
const FP_NR< double > &  root_det,
double  gh_factor 
)

◆ adjust_radius_to_gh_bound< FP_NR< dpe_t > >()

template void adjust_radius_to_gh_bound< FP_NR< dpe_t > > ( FP_NR< dpe_t > &  max_dist,
long  max_dist_expo,
int  block_size,
const FP_NR< dpe_t > &  root_det,
double  gh_factor 
)

◆ adjust_radius_to_gh_bound< FP_NR< long double > >()

template void adjust_radius_to_gh_bound< FP_NR< long double > > ( FP_NR< long double > &  max_dist,
long  max_dist_expo,
int  block_size,
const FP_NR< long double > &  root_det,
double  gh_factor 
)

◆ adjust_radius_to_gh_bound< FP_NR< mpfr_t > >()

template void adjust_radius_to_gh_bound< FP_NR< mpfr_t > > ( FP_NR< mpfr_t > &  max_dist,
long  max_dist_expo,
int  block_size,
const FP_NR< mpfr_t > &  root_det,
double  gh_factor 
)

◆ adjust_radius_to_gh_bound< FP_NR< qd_real > >()

template void adjust_radius_to_gh_bound< FP_NR< qd_real > > ( FP_NR< qd_real > &  max_dist,
long  max_dist_expo,
int  block_size,
const FP_NR< qd_real > &  root_det,
double  gh_factor 
)