From b30a3c8743d8837e4b1ef871d133ae5e7ef9a06b Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 3 Dec 2021 18:17:33 +0800 Subject: *misc --- Client/Source/Phy2D/Common/Settings.h | 103 +--------------------------------- 1 file changed, 1 insertion(+), 102 deletions(-) (limited to 'Client/Source/Phy2D/Common/Settings.h') diff --git a/Client/Source/Phy2D/Common/Settings.h b/Client/Source/Phy2D/Common/Settings.h index b03ecad..7368f9c 100644 --- a/Client/Source/Phy2D/Common/Settings.h +++ b/Client/Source/Phy2D/Common/Settings.h @@ -1,111 +1,10 @@ #pragma once -#define NUMBER_FLOAT 1 -#define NUMBER_LIBFIX 2 -#define NUMBER_FPM 3 -#define NUMBER_FIX32 4 - -#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 +#include "Type.h" namespace Phy2D { -#if NUMBER_ALIAS == NUMBER_FLOAT - - typedef float fixed; -#define NUMBER_MAX (FLT_MAX) -#define NUMBER_MIN (FLT_MIN) -#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) -#define SQRT(a) ((a).sqrt()) -#define SIN(a) ((a).sin()) -#define COS(a) ((a).cos()) -#define PI (fix16_pi) - -#elif NUMBER_ALIAS == NUMBER_FPM - - template - struct Limits {}; - - template <> - struct Limits - { - static constexpr bool is_signed() noexcept { return true; } - static constexpr int digits() noexcept { return 31; } - static constexpr int max_digits10() noexcept { return 5 + 5; } - static constexpr int min_exponent() noexcept { return -15; } - static constexpr int max_exponent() noexcept { return 15; } - static constexpr int min_exponent10() noexcept { return -4; } - static constexpr int max_exponent10() noexcept { return 4; } - static constexpr fpm::fixed_16_16 min() noexcept { return fpm::fixed_16_16::from_raw_value(-2147483647 - 1); } - static constexpr fpm::fixed_16_16 max() noexcept { return fpm::fixed_16_16::from_raw_value(2147483647); } - }; - - template <> - struct Limits - { - static constexpr bool is_signed() noexcept { return true; } - static constexpr int digits() noexcept { return 31; } - static constexpr int max_digits10() noexcept { return 7 + 3; } - static constexpr int min_exponent() noexcept { return -7; } - static constexpr int max_exponent() noexcept { return 23; } - static constexpr int min_exponent10() noexcept { return -2; } - static constexpr int max_exponent10() noexcept { return 6; } - static constexpr fpm::fixed_24_8 min() noexcept { return fpm::fixed_24_8::from_raw_value(-2147483647 - 1); } - static constexpr fpm::fixed_24_8 max() noexcept { return fpm::fixed_24_8::from_raw_value(2147483647); } - }; - - template <> - struct Limits - { - static constexpr bool is_signed() noexcept { return true; } - static constexpr int digits() noexcept { return 31; } - static constexpr int max_digits10() noexcept { return 3 + 8; } - static constexpr int min_exponent() noexcept { return -23; } - static constexpr int max_exponent() noexcept { return 7; } - static constexpr int min_exponent10() noexcept { return -7; } - static constexpr int max_exponent10() noexcept { return 2; } - static constexpr fpm::fixed_8_24 min() noexcept { return fpm::fixed_8_24::from_raw_value(-2147483647 - 1); } - static constexpr fpm::fixed_8_24 max() noexcept { return fpm::fixed_8_24::from_raw_value(2147483647); } - }; - - typedef fpm::fixed_16_16 fixed; -#define NUMBER_MAX (Limits::max()) -#define NUMBER_MIN (Limits::min()) -#define SQRT(a) (fpm::sqrt((a))) -#define SIN(a) (fpm::sin((a))) -#define COS(a) (fpm::cos((a))) -#define PI (fixed::pi()) - -#elif NUMBER_ALIAS == NUMBER_FIX32 - - typedef Fix32 fixed32; // Q32.32 - typedef fixed32 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