📄 mathop.h
字号:
#ifndef mathop_h#define mathop_h/*FIXED MATH*/#ifdef fixedmath#define FIXEDPRECMATH 13#include "fixed.h"typedef INT64 LFIXEDMATH;#define Mul(a,b) ((Math_Type) (( ((LFIXEDMATH)(a)) * ((LFIXEDMATH)(b)) ) >> FIXEDPRECMATH))#define Muleq(a,b) a=Mul(a,b)#define FMul(a,b) (((a) *(b) )>> FIXEDPRECMATH)#define Div(a,b) ((Math_Type) ( ( ((LFIXEDMATH)(a)) << FIXEDPRECMATH ) / ((LFIXEDMATH)(b)) ))#define Diveq(a,b) a=Div(a,b)/* #define Sqrt(a) ((Math_Type)(sqrt((double)(a)/(1<<FIXEDPRECMATH))*(1<<FIXEDPRECMATH))) */#define Sqrt_Prec(a) (SqrtFix(a))#define Sqrt(a) ( (Math_Type) ((fred_sqrt((a)>>FIXEDPRECMATH))<<FIXEDPRECMATH) )#define IntTo(a) ((Math_Type) (((INT32) a)<<FIXEDPRECMATH))#define ToInt(a) ((INT32) ((a)>>FIXEDPRECMATH))#define RintToInt(a) ((INT32) (((a)+(1<<(FIXEDPRECMATH-1)))>>FIXEDPRECMATH))#define Realtofix(a) ((FIXED) ((a)>>(FIXEDPREC-FIXEDPRECMATH)))INT32 fred_sqrt( INT32 x);#define ApprovedRealTo(a) ((Math_Type)(((double) a)*(1<<FIXEDPRECMATH)))#define Abs(a) abs(a)#ifndef nofloatavailable#define FloatTo(a) ((Math_Type)(((float) a)*(1<<FIXEDPRECMATH)))#define ToFloat(a) (((float) (a))/(1<<FIXEDPREC))#define DoubleTo(a) ((Math_Type)(((double) a)*(1<<FIXEDPRECMATH)))#define ToDouble(a) (((double) (a))/(1<<FIXEDPRECMATH))#define RealTo(a) DoubleTo(a)#endif /* nofloatavailable */# ifndef S_SPLINT_Sstatic Math_Type SqrtFix(Math_Type x) /* vir
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -