ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions | Variables
exp.cpp File Reference
#include <math.h>
#include <stdint.h>
#include <float.h>
Include dependency graph for exp.cpp:

Classes

union  ModuleBase::libm::mynumber
 
struct  ModuleBase::libm::exp_data
 

Namespaces

namespace  ModuleBase
 
namespace  ModuleBase::libm
 

Macros

#define max(x, y)   (((y) > (x)) ? (y) : (x))
 
#define min(x, y)   (((y) < (x)) ? (y) : (x))
 
#define EXP_TABLE_BITS   7
 
#define EXP_POLY_ORDER   5
 
#define EXP2_POLY_ORDER   5
 
#define N   (1 << EXP_TABLE_BITS)
 
#define WANT_ROUNDING   1
 
#define InvLn2N   __exp_data.invln2N
 
#define NegLn2hiN   __exp_data.negln2hiN
 
#define NegLn2loN   __exp_data.negln2loN
 
#define Shift   __exp_data.shift
 
#define T   __exp_data.tab
 
#define C2   __exp_data.poly[5 - EXP_POLY_ORDER]
 
#define C3   __exp_data.poly[6 - EXP_POLY_ORDER]
 
#define C4   __exp_data.poly[7 - EXP_POLY_ORDER]
 
#define C5   __exp_data.poly[8 - EXP_POLY_ORDER]
 

Functions

double ModuleBase::libm::__exp (double x)
 

Variables

const exp_data ModuleBase::libm::__exp_data
 

Macro Definition Documentation

◆ C2

#define C2   __exp_data.poly[5 - EXP_POLY_ORDER]

◆ C3

#define C3   __exp_data.poly[6 - EXP_POLY_ORDER]

◆ C4

#define C4   __exp_data.poly[7 - EXP_POLY_ORDER]

◆ C5

#define C5   __exp_data.poly[8 - EXP_POLY_ORDER]

◆ EXP2_POLY_ORDER

#define EXP2_POLY_ORDER   5

◆ EXP_POLY_ORDER

#define EXP_POLY_ORDER   5

◆ EXP_TABLE_BITS

#define EXP_TABLE_BITS   7

◆ InvLn2N

#define InvLn2N   __exp_data.invln2N

◆ max

#define max (   x,
 
)    (((y) > (x)) ? (y) : (x))

◆ min

#define min (   x,
 
)    (((y) < (x)) ? (y) : (x))

◆ N

#define N   (1 << EXP_TABLE_BITS)

◆ NegLn2hiN

#define NegLn2hiN   __exp_data.negln2hiN

◆ NegLn2loN

#define NegLn2loN   __exp_data.negln2loN

◆ Shift

#define Shift   __exp_data.shift

◆ T

#define T   __exp_data.tab

◆ WANT_ROUNDING

#define WANT_ROUNDING   1