@@ -26,7 +26,7 @@ namespace xsimd
2626 // depending on the arch.
2727
2828 template <class T , class = std::enable_if_t <std::is_unsigned<T>::value>>
29- int popcount (T x)
29+ XSIMD_INLINE int popcount (T x) noexcept
3030 {
3131#if XSIMD_HAS_BUILTIN(__builtin_popcountg)
3232 return __builtin_popcountg (x);
@@ -94,7 +94,7 @@ namespace xsimd
9494 }
9595
9696 template <class T , class = std::enable_if_t <std::is_unsigned<T>::value>>
97- int countl_zero (T x)
97+ XSIMD_INLINE int countl_zero (T x) noexcept
9898 {
9999#if XSIMD_HAS_BUILTIN(__builtin_clzg)
100100 return __builtin_clzg (x, (int )(sizeof (T) * CHAR_BIT));
@@ -154,7 +154,7 @@ namespace xsimd
154154 }
155155
156156 template <class T , class = std::enable_if_t <std::is_unsigned<T>::value>>
157- int countr_zero (T x)
157+ XSIMD_INLINE int countr_zero (T x) noexcept
158158 {
159159#if XSIMD_HAS_BUILTIN(__builtin_ctzg)
160160 return __builtin_ctzg (x, (int )(sizeof (T) * CHAR_BIT));
@@ -190,7 +190,7 @@ namespace xsimd
190190 }
191191
192192 template <class T , class = std::enable_if_t <std::is_unsigned<T>::value>>
193- int countr_one (T x)
193+ XSIMD_INLINE int countr_one (T x) noexcept
194194 {
195195 return countr_zero (T (~x));
196196 }
0 commit comments