VTK-m  2.2
Namespaces | Macros | Functions
Math.h File Reference
#include <vtkm/TypeTraits.h>
#include <vtkm/Types.h>
#include <vtkm/VecTraits.h>
#include <limits>
#include <cmath>
#include <cstring>
#include <limits.h>
#include <math.h>
#include <stdlib.h>
#include <algorithm>

Go to the source code of this file.

Namespaces

 vtkm
 Groups connected points that have the same field value.
 

Macros

#define VTKM_USE_STL
 
#define VTKM_CUDA_MATH_FUNCTION_32(func)   func##f
 
#define VTKM_CUDA_MATH_FUNCTION_64(func)   func
 
#define VTKM_USE_IEEE_NONFINITE
 
#define VTKM_NAN_BITS_32   0x7FC00000U
 
#define VTKM_INF_BITS_32   0x7F800000U
 
#define VTKM_NEG_INF_BITS_32   0xFF800000U
 
#define VTKM_EPSILON_32   1e-5f
 
#define VTKM_NAN_BITS_64   0x7FF8000000000000ULL
 
#define VTKM_INF_BITS_64   0x7FF0000000000000ULL
 
#define VTKM_NEG_INF_BITS_64   0xFFF0000000000000ULL
 
#define VTKM_EPSILON_64   1e-9
 

Functions

vtkm::Float32 vtkm::Ldexp (vtkm::Float32 x, vtkm::Int32 exponent)
 
vtkm::Float64 vtkm::Ldexp (vtkm::Float64 x, vtkm::Int32 exponent)
 
vtkm::UInt64 vtkm::FloatDistance (vtkm::Float64 x, vtkm::Float64 y)
 Computes the number of representables between two floating point numbers. More...
 
vtkm::UInt64 vtkm::FloatDistance (vtkm::Float32 x, vtkm::Float32 y)
 Computes the number of representables between two floating point numbers. More...
 
template<typename T >
vtkm::DifferenceOfProducts (T a, T b, T c, T d)
 
template<typename T >
vtkm::Vec< T, 2 > vtkm::QuadraticRoots (T a, T b, T c)
 Solves ax² + bx + c = 0. More...
 
vtkm::Int32 vtkm::FindFirstSetBit (vtkm::UInt32 word)
 Bitwise operations. More...
 
vtkm::Int32 vtkm::FindFirstSetBit (vtkm::UInt64 word)
 Find the first set bit in word, and return its position (1-64). More...
 
vtkm::Int32 vtkm::CountSetBits (vtkm::UInt32 word)
 Count the total number of bits set in word. More...
 
vtkm::Int32 vtkm::CountSetBits (vtkm::UInt64 word)
 Count the total number of bits set in word. More...
 
vtkm::Float32 vtkm::Sin (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Sin (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Cos (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Cos (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Tan (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Tan (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ASin (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ASin (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ACos (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ACos (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ATan (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ATan (vtkm::Float64 x)
 
vtkm::Float32 vtkm::SinH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::SinH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::CosH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::CosH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::TanH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::TanH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ASinH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ASinH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ACosH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ACosH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ATanH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ATanH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Sqrt (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Sqrt (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Cbrt (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Cbrt (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Exp (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Exp (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Exp2 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Exp2 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ExpM1 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ExpM1 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log2 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log2 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log10 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log10 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log1P (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log1P (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Clamp (vtkm::Float32 x, vtkm::Float32 lo, vtkm::Float32 hi)
 
vtkm::Float64 vtkm::Clamp (vtkm::Float64 x, vtkm::Float64 lo, vtkm::Float64 hi)
 
vtkm::Float32 vtkm::Ceil (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Ceil (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Floor (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Floor (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Round (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Round (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Frexp (vtkm::Float32 x, vtkm::Int32 *exponent)
 
vtkm::Float64 vtkm::Frexp (vtkm::Float64 x, vtkm::Int32 *exponent)
 
vtkm::Float32 vtkm::Sin (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Sin (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Cos (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Cos (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Tan (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Tan (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ASin (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ASin (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ACos (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ACos (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ATan (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ATan (vtkm::Float64 x)
 
vtkm::Float32 vtkm::SinH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::SinH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::CosH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::CosH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::TanH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::TanH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ASinH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ASinH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ACosH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ACosH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ATanH (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ATanH (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Sqrt (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Sqrt (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Cbrt (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Cbrt (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Exp (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Exp (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Exp2 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Exp2 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::ExpM1 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::ExpM1 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log2 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log2 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log10 (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log10 (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Log1P (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Log1P (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Clamp (vtkm::Float32 x, vtkm::Float32 lo, vtkm::Float32 hi)
 
vtkm::Float64 vtkm::Clamp (vtkm::Float64 x, vtkm::Float64 lo, vtkm::Float64 hi)
 
vtkm::Float32 vtkm::Ceil (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Ceil (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Floor (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Floor (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Round (vtkm::Float32 x)
 
vtkm::Float64 vtkm::Round (vtkm::Float64 x)
 
vtkm::Float32 vtkm::Frexp (vtkm::Float32 x, vtkm::Int32 *exponent)
 
vtkm::Float64 vtkm::Frexp (vtkm::Float64 x, vtkm::Int32 *exponent)
 

Macro Definition Documentation

◆ VTKM_CUDA_MATH_FUNCTION_32

#define VTKM_CUDA_MATH_FUNCTION_32 (   func)    func##f

◆ VTKM_CUDA_MATH_FUNCTION_64

#define VTKM_CUDA_MATH_FUNCTION_64 (   func)    func

◆ VTKM_EPSILON_32

#define VTKM_EPSILON_32   1e-5f

◆ VTKM_EPSILON_64

#define VTKM_EPSILON_64   1e-9

◆ VTKM_INF_BITS_32

#define VTKM_INF_BITS_32   0x7F800000U

◆ VTKM_INF_BITS_64

#define VTKM_INF_BITS_64   0x7FF0000000000000ULL

◆ VTKM_NAN_BITS_32

#define VTKM_NAN_BITS_32   0x7FC00000U

◆ VTKM_NAN_BITS_64

#define VTKM_NAN_BITS_64   0x7FF8000000000000ULL

◆ VTKM_NEG_INF_BITS_32

#define VTKM_NEG_INF_BITS_32   0xFF800000U

◆ VTKM_NEG_INF_BITS_64

#define VTKM_NEG_INF_BITS_64   0xFFF0000000000000ULL

◆ VTKM_USE_IEEE_NONFINITE

#define VTKM_USE_IEEE_NONFINITE

◆ VTKM_USE_STL

#define VTKM_USE_STL