📄 lookup.c
字号:
#include "lookup.h"#include <math.h>#include "spc.h"#if OPTIMIZE#define STEP_SIZE 0.001#define ASTEP_SIZE 0.001#define AMAX_VALUE 1#define tsize 2*T+1#define asize 2*TA+1#define DBG_LVL 2short int tval[tsize];short int aval[asize];double restrict(double x,int MAX) { if(x<MAX && x>-1*MAX) return x; if(x>MAX) return MAX; if(x<-1*MAX) return -1*MAX; return 0;}/* Initialisation function where the lookup tables are * set up using math functions */void lookup_init() { double value; int i=0; for(i=0;i<tsize;i++) tval[i]=(short int)((double)TA*tanh((double)(i-T)*MAX_VALUE/(2*T))); for(i=1;i<asize-1;i++) { value = 2*((double)T/MAX_VALUE*atanh((double)(i-TA)/(TA))); if(value>T) value = T; if(value<-T) value = -T; aval[i] = (short int)(value); } aval[0]=-T; aval[2*TA]=T;}short int lookup_tanh( int x ) { return tval[x+T];}short int lookup_atanh( int x ) { return aval[x+TA];}// Clean up the tables, that is, free eventually allocated// memoryvoid lookup_exit() {}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -