nr.h
Go to the documentation of this file.
1#ifndef FPLLL_NR_H
2#define FPLLL_NR_H
3
7#include "../defs.h"
8#include <iostream>
9
10#include "fplll/nr/nr_rand.inl"
11
12#include "fplll/nr/nr_Z.inl"
13#include "fplll/nr/nr_Z_d.inl"
14#include "fplll/nr/nr_Z_l.inl"
15#include "fplll/nr/nr_Z_mpz.inl"
16
17#include "fplll/nr/nr_FP.inl"
18#include "fplll/nr/nr_FP_d.inl"
19#include "fplll/nr/nr_FP_ld.inl"
20
21#ifdef FPLLL_WITH_DPE
23#endif
24
25#ifdef FPLLL_WITH_QD
26#include "fplll/nr/nr_FP_dd.inl"
27#include "fplll/nr/nr_FP_qd.inl"
28#endif
29
31
34
36
41/* Floating-point type inside the SVP/CVP solver */
42typedef double enumf;
43typedef double enumxt;
44// typedef int enumxt;
45
49template <class T> inline const char *num_type_str() { return ""; }
50#ifdef FPLLL_WITH_ZLONG
51template <> inline const char *num_type_str<long>() { return "long"; }
52#endif
53template <> inline const char *num_type_str<double>() { return "double"; }
54template <> inline const char *num_type_str<mpz_t>() { return "mpz_t"; }
55#ifdef FPLLL_WITH_LONG_DOUBLE
56template <> inline const char *num_type_str<long double>() { return "long double"; }
57#endif
58#ifdef FPLLL_WITH_DPE
59template <> inline const char *num_type_str<dpe_t>() { return "dpe_t"; }
60#endif
61#ifdef FPLLL_WITH_QD
62template <> inline const char *num_type_str<dd_real>() { return "dd_real"; }
63template <> inline const char *num_type_str<qd_real>() { return "qd_real"; }
64#endif
65template <> inline const char *num_type_str<mpfr_t>() { return "mpfr_t"; }
66
68
69#endif
#define FPLLL_END_NAMESPACE
Definition: defs.h:117
#define FPLLL_BEGIN_NAMESPACE
Definition: defs.h:114
const char * num_type_str< dpe_t >()
Definition: nr.h:59
const char * num_type_str()
Definition: nr.h:49
const char * num_type_str< dd_real >()
Definition: nr.h:62
const char * num_type_str< double >()
Definition: nr.h:53
const char * num_type_str< long double >()
Definition: nr.h:56
const char * num_type_str< qd_real >()
Definition: nr.h:63
const char * num_type_str< mpz_t >()
Definition: nr.h:54
double enumxt
Definition: nr.h:43
const char * num_type_str< mpfr_t >()
Definition: nr.h:65
FPLLL_BEGIN_NAMESPACE typedef double enumf
Definition: nr.h:42
const char * num_type_str< long >()
Definition: nr.h:51