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

add popcount, clz, ctz

This commit is contained in:
bolero-MURAKAMI 2012-06-22 22:56:25 +09:00
parent ee8c952d05
commit 3500d0d49c
8 changed files with 181 additions and 38 deletions

View file

@ -61,6 +61,15 @@
# endif // #ifdef SPROUT_HAS_CONSTEXPR_CMATH_FUNCTION
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
//
// SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
//
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
# ifndef SPROUT_HAS_CONSTEXPR_BIT_OPERATION
# define SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
# endif // #ifdef SPROUT_HAS_CONSTEXPR_BIT_OPERATION
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
//
// SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
// SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION

View file

@ -25,4 +25,8 @@
# define SPROUT_HAS_CONSTEXPR_CMATH_FUNCTION
#endif
#if ((__GNUC__ >= 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__))
# define SPROUT_HAS_CONSTEXPR_BIT_OPERATION
#endif
#endif // #ifndef SPROUT_CONFIG_COMPILER_GCC_HPP

View file

@ -69,6 +69,12 @@
# define SPROUT_USE_BUILTIN_CMATH_FUNCTION 0
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
# define SPROUT_USE_BUILTIN_BIT_OPERATION 1
#else // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
# define SPROUT_USE_BUILTIN_BIT_OPERATION 0
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 1
#else // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION