1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

workaround for clang3.2: cstdint constant macros missing

This commit is contained in:
bolero-MURAKAMI 2013-08-04 11:08:41 +09:00
parent 4d70a437ce
commit 99547d3fe7
3 changed files with 88 additions and 49 deletions

View file

@ -2,9 +2,9 @@
#define SPROUT_MATH_FACTORIAL_HPP
#include <cstddef>
#include <cstdint>
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/cstdint.hpp>
#include <sprout/array/array.hpp>
#include <sprout/type_traits/is_int.hpp>
#include <sprout/type_traits/is_uint.hpp>
@ -86,51 +86,51 @@ namespace sprout {
}}
# define SPROUT_FACTORIAL_TABLE_DEF_INT_8 \
table_type{{ \
INT64_C(1), \
INT64_C(1), \
INT64_C(2), \
INT64_C(6), \
INT64_C(24), \
INT64_C(120), \
INT64_C(720), \
INT64_C(5040), \
INT64_C(40320), \
INT64_C(362880), \
INT64_C(3628800), \
INT64_C(39916800), \
INT64_C(479001600), \
INT64_C(6227020800), \
INT64_C(87178291200), \
INT64_C(1307674368000), \
INT64_C(20922789888000), \
INT64_C(355687428096000), \
INT64_C(6402373705728000), \
INT64_C(121645100408832000), \
INT64_C(2432902008176640000) \
SPROUT_INT64_C(1), \
SPROUT_INT64_C(1), \
SPROUT_INT64_C(2), \
SPROUT_INT64_C(6), \
SPROUT_INT64_C(24), \
SPROUT_INT64_C(120), \
SPROUT_INT64_C(720), \
SPROUT_INT64_C(5040), \
SPROUT_INT64_C(40320), \
SPROUT_INT64_C(362880), \
SPROUT_INT64_C(3628800), \
SPROUT_INT64_C(39916800), \
SPROUT_INT64_C(479001600), \
SPROUT_INT64_C(6227020800), \
SPROUT_INT64_C(87178291200), \
SPROUT_INT64_C(1307674368000), \
SPROUT_INT64_C(20922789888000), \
SPROUT_INT64_C(355687428096000), \
SPROUT_INT64_C(6402373705728000), \
SPROUT_INT64_C(121645100408832000), \
SPROUT_INT64_C(2432902008176640000) \
}}
# define SPROUT_FACTORIAL_TABLE_DEF_UINT_8 \
table_type{{ \
UINT64_C(1), \
UINT64_C(1), \
UINT64_C(2), \
UINT64_C(6), \
UINT64_C(24), \
UINT64_C(120), \
UINT64_C(720), \
UINT64_C(5040), \
UINT64_C(40320), \
UINT64_C(362880), \
UINT64_C(3628800), \
UINT64_C(39916800), \
UINT64_C(479001600), \
UINT64_C(6227020800), \
UINT64_C(87178291200), \
UINT64_C(1307674368000), \
UINT64_C(20922789888000), \
UINT64_C(355687428096000), \
UINT64_C(6402373705728000), \
UINT64_C(121645100408832000), \
UINT64_C(2432902008176640000) \
SPROUT_UINT64_C(1), \
SPROUT_UINT64_C(1), \
SPROUT_UINT64_C(2), \
SPROUT_UINT64_C(6), \
SPROUT_UINT64_C(24), \
SPROUT_UINT64_C(120), \
SPROUT_UINT64_C(720), \
SPROUT_UINT64_C(5040), \
SPROUT_UINT64_C(40320), \
SPROUT_UINT64_C(362880), \
SPROUT_UINT64_C(3628800), \
SPROUT_UINT64_C(39916800), \
SPROUT_UINT64_C(479001600), \
SPROUT_UINT64_C(6227020800), \
SPROUT_UINT64_C(87178291200), \
SPROUT_UINT64_C(1307674368000), \
SPROUT_UINT64_C(20922789888000), \
SPROUT_UINT64_C(355687428096000), \
SPROUT_UINT64_C(6402373705728000), \
SPROUT_UINT64_C(121645100408832000), \
SPROUT_UINT64_C(2432902008176640000) \
}}
# define SPROUT_FACTORIAL_TABLE_DEF_FLOAT \
table_type{{ \