5#ifndef GKO_PUBLIC_CORE_BASE_INTRINSICS_HPP_
6#define GKO_PUBLIC_CORE_BASE_INTRINSICS_HPP_
11#include <ginkgo/core/base/types.hpp>
21GKO_ATTRIBUTES GKO_INLINE
int popcount(
uint32 bitmask)
23#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__)
24 return __popc(
static_cast<unsigned>(bitmask));
26 std::bitset<32> bits{bitmask};
33GKO_ATTRIBUTES GKO_INLINE
int popcount(
uint64 bitmask)
35#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__)
36 return __popcll(
static_cast<unsigned long long>(bitmask));
38 std::bitset<64> bits{bitmask};
The Ginkgo namespace.
Definition abstract_factory.hpp:20
std::uint64_t uint64
64-bit unsigned integral type.
Definition types.hpp:136
std::uint32_t uint32
32-bit unsigned integral type.
Definition types.hpp:130