NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Typedefs | Functions
numbers.h File Reference
#include <cmath>
#include <limits>
#include <nvbio/basic/types.h>
#include <nvbio/basic/popcount.h>
#include <nvbio/basic/iterator.h>
#include <vector_types.h>
#include <vector_functions.h>

Go to the source code of this file.

Classes

struct  nvbio::vector_type< T, DIM >
 
struct  nvbio::vector_type< char, 1 >
 
struct  nvbio::vector_type< char, 2 >
 
struct  nvbio::vector_type< char, 3 >
 
struct  nvbio::vector_type< char, 4 >
 
struct  nvbio::vector_type< unsigned char, 1 >
 
struct  nvbio::vector_type< unsigned char, 2 >
 
struct  nvbio::vector_type< unsigned char, 3 >
 
struct  nvbio::vector_type< unsigned char, 4 >
 
struct  nvbio::vector_type< short, 1 >
 
struct  nvbio::vector_type< short, 2 >
 
struct  nvbio::vector_type< short, 3 >
 
struct  nvbio::vector_type< short, 4 >
 
struct  nvbio::vector_type< unsigned short, 1 >
 
struct  nvbio::vector_type< unsigned short, 2 >
 
struct  nvbio::vector_type< unsigned short, 3 >
 
struct  nvbio::vector_type< unsigned short, 4 >
 
struct  nvbio::vector_type< int, 1 >
 
struct  nvbio::vector_type< int, 2 >
 
struct  nvbio::vector_type< int, 3 >
 
struct  nvbio::vector_type< int, 4 >
 
struct  nvbio::vector_type< unsigned int, 1 >
 
struct  nvbio::vector_type< unsigned int, 2 >
 
struct  nvbio::vector_type< unsigned int, 3 >
 
struct  nvbio::vector_type< unsigned int, 4 >
 
struct  nvbio::vector_type< int64, 1 >
 
struct  nvbio::vector_type< int64, 2 >
 
struct  nvbio::vector_type< int64, 3 >
 
struct  nvbio::vector_type< int64, 4 >
 
struct  nvbio::vector_type< uint64, 1 >
 
struct  nvbio::vector_type< uint64, 2 >
 
struct  nvbio::vector_type< uint64, 3 >
 
struct  nvbio::vector_type< uint64, 4 >
 
struct  nvbio::vector_type< float, 1 >
 
struct  nvbio::vector_type< float, 2 >
 
struct  nvbio::vector_type< float, 3 >
 
struct  nvbio::vector_type< float, 4 >
 
struct  nvbio::vector_traits< T >
 
struct  nvbio::vector_traits< char >
 
struct  nvbio::vector_traits< unsigned char >
 
struct  nvbio::vector_traits< short >
 
struct  nvbio::vector_traits< unsigned short >
 
struct  nvbio::vector_traits< int >
 
struct  nvbio::vector_traits< unsigned int >
 
struct  nvbio::vector_traits< int64 >
 
struct  nvbio::vector_traits< uint64 >
 
struct  nvbio::vector_traits< float >
 
struct  nvbio::vector_traits< double >
 
struct  nvbio::vector_traits< char2 >
 
struct  nvbio::vector_traits< char3 >
 
struct  nvbio::vector_traits< char4 >
 
struct  nvbio::vector_traits< uchar2 >
 
struct  nvbio::vector_traits< uchar3 >
 
struct  nvbio::vector_traits< uchar4 >
 
struct  nvbio::vector_traits< short2 >
 
struct  nvbio::vector_traits< short3 >
 
struct  nvbio::vector_traits< short4 >
 
struct  nvbio::vector_traits< ushort2 >
 
struct  nvbio::vector_traits< ushort3 >
 
struct  nvbio::vector_traits< ushort4 >
 
struct  nvbio::vector_traits< int2 >
 
struct  nvbio::vector_traits< int3 >
 
struct  nvbio::vector_traits< int4 >
 
struct  nvbio::vector_traits< uint2 >
 
struct  nvbio::vector_traits< uint3 >
 
struct  nvbio::vector_traits< uint4 >
 
struct  nvbio::vector_traits< float2 >
 
struct  nvbio::vector_traits< float3 >
 
struct  nvbio::vector_traits< float4 >
 
struct  nvbio::vector_traits< uint64_2 >
 
struct  nvbio::vector_traits< uint64_3 >
 
struct  nvbio::vector_traits< uint64_4 >
 
struct  nvbio::vector_traits< int64_2 >
 
struct  nvbio::vector_traits< int64_3 >
 
struct  nvbio::vector_traits< int64_4 >
 
struct  nvbio::LCG_random
 
struct  nvbio::Field_traits< T >
 
struct  nvbio::Field_traits< int8 >
 
struct  nvbio::Field_traits< int16 >
 
struct  nvbio::Field_traits< int32 >
 
struct  nvbio::Field_traits< int64 >
 
struct  nvbio::Constant< T >
 
struct  nvbio::Linear< T >
 
struct  nvbio::Affine< T >
 
struct  nvbio::add_functor
 
struct  nvbio::min_functor
 
struct  nvbio::max_functor
 
struct  nvbio::component_functor< T >
 
struct  nvbio::leading_bits< word_type >
 
struct  nvbio::shift_left< word_type >
 
struct  nvbio::shift_right< word_type >
 
struct  nvbio::popc_functor< word_type >
 
struct  nvbio::hi_bits_functor< T, U >
 
struct  nvbio::hi_bits_functor< uint8, uint32 >
 
struct  nvbio::hi_bits_functor< uint16, uint32 >
 
struct  nvbio::hi_bits_functor< uint32, uint32 >
 
struct  nvbio::hi_bits_functor< uint32, uint64 >
 
struct  nvbio::get_char_functor< T >
 
struct  nvbio::is_true_functor< T >
 
struct  nvbio::is_false_functor< T >
 
struct  nvbio::equal_to_functor< T >
 
struct  nvbio::not_equal_to_functor< T >
 
struct  nvbio::equal_functor< T >
 
struct  nvbio::not_equal_functor< T >
 
struct  nvbio::gather_functor< Iterator, index_type >
 
struct  nvbio::composition_functor< Functor2, Functor1 >
 
struct  nvbio::bind_first_functor< Functor >
 
struct  nvbio::bind_second_functor< Functor >
 
struct  nvbio::reverse_functor< IndexType >
 
struct  nvbio::complement_functor< ALPHABET_SIZE >
 
struct  nvbio::cast_functor< T, R >
 
struct  nvbio::negate_functor< InputFunctor >
 

Namespaces

 nvbio
 Define a vector_view POD type and plain_view() for std::vector.
 
 nvbio::util
 

Macros

#define M_PIf   3.141592653589793238462643383279502884197169399375105820974944592f
 
#define M_PI_2f   6.283185307179586f
 
#define M_INV_PIf   0.3183098861837907f
 
#define M_PI   3.141592653589793238462643383279502884197169399375105820974944592
 
#define M_PI_2   (2.0 * M_PI)
 
#define NVBIO_RAND_A   1664525
 
#define NVBIO_RAND_C   1013904223
 

Typedefs

typedef uchar2 nvbio::uint8_2
 
typedef uchar3 nvbio::uint8_3
 
typedef uchar4 nvbio::uint8_4
 
typedef char2 nvbio::int8_2
 
typedef char3 nvbio::int8_3
 
typedef char4 nvbio::int8_4
 
typedef ushort2 nvbio::uint16_2
 
typedef ushort3 nvbio::uint16_3
 
typedef ushort4 nvbio::uint16_4
 
typedef short2 nvbio::int16_2
 
typedef short3 nvbio::int16_3
 
typedef short4 nvbio::int16_4
 
typedef uint2 nvbio::uint32_2
 
typedef uint3 nvbio::uint32_3
 
typedef uint4 nvbio::uint32_4
 
typedef int2 nvbio::int32_2
 
typedef int3 nvbio::int32_3
 
typedef int4 nvbio::int32_4
 
typedef ulonglong2 nvbio::uint64_2
 
typedef ulonglong3 nvbio::uint64_3
 
typedef ulonglong4 nvbio::uint64_4
 
typedef longlong2 nvbio::int64_2
 
typedef longlong3 nvbio::int64_3
 
typedef longlong4 nvbio::int64_4
 

Functions

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_DEVICEnvbio::util::divide_ri (const L x, const R y)
 
template<typename L , typename R >
NVBIO_HOST_DEVICEnvbio::util::divide_rz (const L x, const R y)
 
template<typename L , typename R >
NVBIO_HOST_DEVICEnvbio::util::round_i (const L x, const R y)
 
template<typename L , typename R >
NVBIO_HOST_DEVICEnvbio::util::round_z (const L x, const R y)
 
template<typename L , typename R >
NVBIO_HOST_DEVICEnvbio::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_FORCEINLINE
NVBIO_HOST_DEVICE vector_type
< T, 1 >::type 
nvbio::make_vector (const T i1)
 
template<typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE vector_type
< T, 2 >::type 
nvbio::make_vector (const T i1, const T i2)
 
template<typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE vector_type
< T, 3 >::type 
nvbio::make_vector (const T i1, const T i2, const T i3)
 
template<typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE vector_type
< T, 4 >::type 
nvbio::make_vector (const T i1, const T i2, const T i3, const T i4)
 
template<typename T >
NVBIO_HOST_DEVICEnvbio::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)
 
template<typename Iterator >
gather_functor< Iterator > nvbio::make_gather_functor (const Iterator perm)
 
template<typename Functor2 , typename Functor1 >
composition_functor< Functor2,
Functor1 > 
nvbio::make_composition_functor (const Functor2 fun2, const Functor1 fun1)
 

Macro Definition Documentation

#define M_INV_PIf   0.3183098861837907f

Definition at line 42 of file numbers.h.

#define M_PI   3.141592653589793238462643383279502884197169399375105820974944592

Definition at line 45 of file numbers.h.

#define M_PI_2   (2.0 * M_PI)

Definition at line 48 of file numbers.h.

#define M_PI_2f   6.283185307179586f

Definition at line 41 of file numbers.h.

#define M_PIf   3.141592653589793238462643383279502884197169399375105820974944592f

Definition at line 40 of file numbers.h.