加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
NFA.h 932 Bytes
一键复制 编辑 原始数据 按行查看 历史
Cagri 提交于 2018-08-17 18:50 . Git initial commit
#ifndef _NFA_
#define _NFA_
#define TABSIZE 100000
//----------------------------------------------
// Fast arctan2 using a lookup table
//
#define MAX_LUT_SIZE 1024
#ifndef TRUE
#define TRUE 1
#endif /* !TRUE */
/** ln(10) */
#ifndef M_LN10
#define M_LN10 2.30258509299404568402
#endif /* !M_LN10 */
/** PI */
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif /* !M_PI */
#define RELATIVE_ERROR_FACTOR 100.0
// Lookup table (LUT) for NFA computation
class NFALUT {
public:
NFALUT(int size, double _prob, double _logNT);
~NFALUT();
int *LUT; // look up table
int LUTSize;
double prob;
double logNT;
bool checkValidationByNFA(int n, int k);
static double myAtan2(double yy, double xx);
private:
double nfa(int n, int k);
static double log_gamma_lanczos(double x);
static double log_gamma_windschitl(double x);
static double log_gamma(double x);
static int double_equal(double a, double b);
};
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化