NVBIO's convenience functions and functors needed for every day's work...
|
template<uint32 N> |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::util::lo_bits () |
|
template<uint32 N> |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::util::hi_bits () |
|
template<typename Iterator , typename T > |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::util::count_occurrences (const Iterator begin, uint32 size, const T val, const uint32 max_occ=uint32(-1)) |
|
template<typename L , typename R > |
NVBIO_HOST_DEVICE L | nvbio::util::divide_ri (const L x, const R y) |
|
template<typename L , typename R > |
NVBIO_HOST_DEVICE L | nvbio::util::divide_rz (const L x, const R y) |
|
template<typename L , typename R > |
NVBIO_HOST_DEVICE L | nvbio::util::round_i (const L x, const R y) |
|
template<typename L , typename R > |
NVBIO_HOST_DEVICE L | nvbio::util::round_z (const L x, const R y) |
|
template<typename L , typename R > |
NVBIO_HOST_DEVICE L | nvbio::util::round (const L x, const R y) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint8 | nvbio::comp (const uchar2 a, const char c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE char | nvbio::comp (const char2 a, const char c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint8 | nvbio::comp (const uchar4 a, const char c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE char | nvbio::comp (const char4 a, const char c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE signed char & | nvbio::select (char4 &a, const char c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::comp (const uint2 a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void | nvbio::set (uint2 &a, const uint32 c, const uint32 v) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint64 | nvbio::comp (const ulonglong2 a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void | nvbio::set (ulonglong2 &a, const uint32 c, const uint64 v) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 | nvbio::comp (const int2 a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::comp (const uint4 a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void | nvbio::set (uint4 &a, const uint32 c, const uint32 v) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 | nvbio::comp (const int4 a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 & | nvbio::select (uint4 &a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint16 | nvbio::comp (const ushort4 a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint64 | nvbio::comp (const ulonglong4 a, const uint32 c) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void | nvbio::set (ulonglong4 &a, const uint32 c, const uint64 v) |
|
template<typename T > |
NVBIO_HOST_DEVICE T | nvbio::sgn (const T x) |
|
NVBIO_HOST_DEVICE float | nvbio::round (const float x) |
|
NVBIO_HOST_DEVICE float | nvbio::min (const float a, const float b) |
|
NVBIO_HOST_DEVICE float | nvbio::max (const float a, const float b) |
|
NVBIO_HOST_DEVICE int8 | nvbio::min (const int8 a, const int8 b) |
|
NVBIO_HOST_DEVICE int8 | nvbio::max (const int8 a, const int8 b) |
|
NVBIO_HOST_DEVICE uint8 | nvbio::min (const uint8 a, const uint8 b) |
|
NVBIO_HOST_DEVICE uint8 | nvbio::max (const uint8 a, const uint8 b) |
|
NVBIO_HOST_DEVICE uint16 | nvbio::min (const uint16 a, const uint16 b) |
|
NVBIO_HOST_DEVICE uint16 | nvbio::max (const uint16 a, const uint16 b) |
|
NVBIO_HOST_DEVICE int32 | nvbio::min (const int32 a, const int32 b) |
|
NVBIO_HOST_DEVICE int32 | nvbio::max (const int32 a, const int32 b) |
|
NVBIO_HOST_DEVICE uint32 | nvbio::min (const uint32 a, const uint32 b) |
|
NVBIO_HOST_DEVICE uint32 | nvbio::max (const uint32 a, const uint32 b) |
|
NVBIO_HOST_DEVICE int64 | nvbio::min (const int64 a, const int64 b) |
|
NVBIO_HOST_DEVICE int64 | nvbio::max (const int64 a, const int64 b) |
|
NVBIO_HOST_DEVICE uint64 | nvbio::min (const uint64 a, const uint64 b) |
|
NVBIO_HOST_DEVICE uint64 | nvbio::max (const uint64 a, const uint64 b) |
|
NVBIO_HOST_DEVICE uint32 | nvbio::quantize (const float x, const uint32 n) |
|
float NVBIO_HOST_DEVICE | nvbio::mod (const float x, const float m) |
|
NVBIO_HOST_DEVICE uint32 | nvbio::log2 (uint32 n) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::hash (uint32 a) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::hash2 (uint32 key) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint64 | nvbio::hash (uint64 key) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint64 | nvbio::hash2 (uint64 key) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint64 | nvbio::hash3 (uint64 key) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE float | nvbio::radical_inverse (unsigned int n) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint8 | nvbio::min3 (const uint8 op1, const uint8 op2, const uint8 op3) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::min3 (const uint32 op1, const uint32 op2, const uint32 op3) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::max3 (const uint32 op1, const uint32 op2, const uint32 op3) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 | nvbio::min3 (const int32 op1, const int32 op2, const int32 op3) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 | nvbio::max3 (const int32 op1, const int32 op2, const int32 op3) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE float | nvbio::min3 (const float op1, const float op2, const float op3) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE float | nvbio::max3 (const float op1, const float op2, const float op3) |
|
NVBIO_HOST_DEVICE float | nvbio::fast_pow (const float a, const float b) |
|
NVBIO_HOST_DEVICE float | nvbio::fast_sin (const float x) |
|
NVBIO_HOST_DEVICE float | nvbio::fast_cos (const float x) |
|
NVBIO_HOST_DEVICE float | nvbio::fast_sqrt (const float x) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc (const int32 i) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc (const uint32 i) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc (const uint8 i) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::find_nthbit4 (const uint32 mask, const uint32 n) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc4 (const uint32 mask) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::find_nthbit8 (const uint32 mask, const uint32 n) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::ffs (const int32 x) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::lzc (const uint32 x) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc_2bit (const uint32 x, int c) |
|
template<typename CountTable > |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc_2bit_all (const uint32 b, const CountTable count_table) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::hibits_2bit (const uint32 mask, const uint32 i) |
|
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc_2bit (const uint32 mask, int c, const uint32 i) |
|
template<uint32 N> |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc_nbit (const uint32 x, int c) |
|
template<uint32 N> |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::hibits_nbit (const uint32 mask, const uint32 i) |
|
template<uint32 N> |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc_nbit (const uint32 mask, int c, const uint32 i) |
|
template<typename CountTable > |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 | nvbio::popc_2bit_all (const uint32 mask, const CountTable count_table, const uint32 i) |
|
void | nvbio::gen_2bit_count_table (uint32 *count_table) |
|
template<typename Out , typename In > |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE Out | nvbio::binary_cast (const In in) |
|
template<uint32 C> |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool | nvbio::is_pow2 () |
|
template<uint32 N, typename I > |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE I | nvbio::align (const I a) |
|
template<uint32 N, typename I > |
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE I | nvbio::align_down (const I a) |
|