diff options
Diffstat (limited to 'Client/Source/Phy2D/Common')
-rw-r--r-- | Client/Source/Phy2D/Common/Settings.h | 103 | ||||
-rw-r--r-- | Client/Source/Phy2D/Common/Type.h | 9 |
2 files changed, 10 insertions, 102 deletions
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 <typename T> - struct Limits {}; - - template <> - struct Limits<fpm::fixed_16_16> - { - 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<fpm::fixed_24_8> - { - 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<fpm::fixed_8_24> - { - 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<fixed>::max())
-#define NUMBER_MIN (Limits<fixed>::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 diff --git a/Client/Source/Phy2D/Common/Type.h b/Client/Source/Phy2D/Common/Type.h index e69de29..c985d99 100644 --- a/Client/Source/Phy2D/Common/Type.h +++ b/Client/Source/Phy2D/Common/Type.h @@ -0,0 +1,9 @@ +#include "fix32/fix32.hpp"
+
+namespace Phy2D
+{
+
+ using fixed = Fix32;
+
+}
+
|