From fdd228071a3112aeebda20766c7df3b20b8651aa Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 2 Dec 2021 14:44:36 +0800 Subject: +Fix32 --- Client/Source/Phy2DLite/Settings.h | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'Client/Source/Phy2DLite/Settings.h') diff --git a/Client/Source/Phy2DLite/Settings.h b/Client/Source/Phy2DLite/Settings.h index 9345b32..6454943 100644 --- a/Client/Source/Phy2DLite/Settings.h +++ b/Client/Source/Phy2DLite/Settings.h @@ -1,16 +1,19 @@ #pragma once -#define NUMBER_FLOAT 1 -#define NUMBER_LIBFIX 2 -#define NUMBER_FPM 3 +#define NUMBER_FLOAT 1 +#define NUMBER_LIBFIX 2 +#define NUMBER_FPM 3 +#define NUMBER_FIX32 4 -#define NUMBER_ALIAS NUMBER_FPM +#define NUMBER_ALIAS NUMBER_FIX32 #if NUMBER_ALIAS == NUMBER_LIBFIX #include "libfixmath/libfixmath/fixmath.h" #elif NUMBER_ALIAS == NUMBER_FPM #include "fpm/include/fpm/fixed.hpp" #include "fpm/include/fpm/math.hpp" +#elif NUMBER_ALIAS == NUMBER_FIX32 +#include "fix32/fix32.hpp" #endif namespace Phy2D @@ -24,10 +27,10 @@ typedef float fixed; #define SQRT(a) (sqrt((a))) #define SIN(a) (sin((a))) #define COS(a) (cos((a))) +#define PI (3.1415925f) #elif NUMBER_ALIAS == NUMBER_LIBFIX -// 同时一定要开启内联函数扩展,否则执行效率会非常低 typedef Fix16 fixed; #define NUMBER_MAX (fix16_maximum) #define NUMBER_MIN (fix16_minimum) @@ -91,6 +94,16 @@ typedef fpm::fixed_16_16 fixed; #define COS(a) (fpm::cos((a))) #define PI (fixed::pi()) +#elif NUMBER_ALIAS == NUMBER_FIX32 + + typedef Fix32 fixed; +#define NUMBER_MAX (CONST_MAX) +#define NUMBER_MIN (CONST_MIN) +#define SQRT(a) ((a).sqrt()) +#define SIN(a) ((a).sin()) +#define COS(a) ((a).cos()) +#define PI (CONST_PI) + #endif } \ No newline at end of file -- cgit v1.1-26-g67d0