📄 cdfunc.h
字号:
#ifndef __CDFUNC_H#define __CDFUNC_H/*************************************************************************DEFINES*************************************************************************/#define FUNC_EXTRAP_CONST_SLOPE 0#define FUNC_EXTRAP_CONST_VALUE 1#define FUNC_EXTRAP_ZERO 2#define FUNC_EXTRAP_UNDEFINED 3#define FUNC_BOUND_CONST_SLOPE 0#define FUNC_BOUND_CONST_VALUE 1#define FUNC_BOUND_ZERO 2#define FUNC_BOUND_OUTOFRANGE 3#define FUNC_COMMAND_ERROR 0#define FUNC_COMMAND_READ 1#define FUNC_COMMAND_SCALE 2#define FUNC_INPUT 0#define FUNC_OUTPUT 1/*************************************************************************Macros*************************************************************************//* Build boundary flag */#define MAKE_BOUND_FLAG(INT_EXTRAP, INT_BOUND, EXT_EXTRAP, EXT_BOUND) \ ( \ ((INT_EXTRAP)<<6) | \ ((INT_BOUND )<<4) | \ ((EXT_EXTRAP)<<2) | \ (EXT_BOUND) \ )#define GET_INT_EXTRAP(BOUND_FLAG) (((BOUND_FLAG) >>6) & 0x03)#define GET_INT_BOUND(BOUND_FLAG) (((BOUND_FLAG) >>4) & 0x03)#define GET_EXT_EXTRAP(BOUND_FLAG) (((BOUND_FLAG) >>2) & 0x03)#define GET_EXT_BOUND(BOUND_FLAG) (((BOUND_FLAG) >>0) & 0x03)/*************************************************************************Type Definitions*************************************************************************/typedef double FunctionCall_t (void *, double);typedef struct { int DataType; int BoundaryType; double InteriorCutoff; double ExteriorCutoff; double InteriorValue; double ExteriorValue; double InteriorSlope; double ExteriorSlope; FunctionCall_t *f0; FunctionCall_t *f1; double *Coeff; int NumCoeff; int Power1; int Power2; double TableFactor; double x0; } Function_t;/*************************************************************************Function Prototypes*************************************************************************/Function_t *FUNC_CreateNullFunction (void);int FUNC_Parse (Function_t *, char *);void FUNC_ParseRead (Function_t *, char *);void FUNC_ParseScale(Function_t *, char *);void FUNC_Free (Function_t **Function);void FUNC_Scale (Function_t *F, double Scale, int InOrOut);double FUNC_GetValue (Function_t *F, double x);double FUNC_GetDeriv (Function_t *F, double x);double FUNC_GetCutoff (Function_t *F);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -