VTK-m  2.0
Classes | Namespaces | Macros | Typedefs | Functions | Variables
Types.h File Reference
#include <vtkm/internal/Configure.h>
#include <vtkm/internal/ExportMacros.h>
#include <vtkm/Assert.h>
#include <vtkm/StaticAssert.h>
#include <cstdint>
#include <iostream>
#include <type_traits>
#include <vtkm/internal/VecOperators.h>

Go to the source code of this file.

Classes

struct  vtkm::Add
 
struct  vtkm::Subtract
 
struct  vtkm::Multiply
 
struct  vtkm::Divide
 
struct  vtkm::Negate
 
class  vtkm::Vec< T, Size >
 A short fixed-length array. More...
 
class  vtkm::Vec< T, 0 >
 
class  vtkm::Vec< T, 1 >
 
class  vtkm::Vec< T, 2 >
 
class  vtkm::Vec< T, 3 >
 
class  vtkm::Vec< T, 4 >
 
class  vtkm::VecC< T >
 A Vec-like representation for short arrays. More...
 
class  vtkm::VecCConst< T >
 A const version of VecC. More...
 
struct  vtkm::Pair< T1, T2 >
 A vtkm::Pair is essentially the same as an STL pair object except that the methods (constructors and operators) are defined to work in both the control and execution environments (whereas std::pair is likely to work only in the control environment). More...
 

Namespaces

 vtkm
 Groups connected points that have the same field value.
 
 vtkm::cont
 VTK-m Control Environment.
 
 vtkm::cont::arg
 Transportation controls for Control Environment Objects.
 
 vtkm::cont::cuda
 CUDA implementation for Control Environment.
 
 vtkm::cont::openmp
 OPenMP implementation for Control Environment.
 
 vtkm::cont::serial
 Serial implementation for Control Environment.
 
 vtkm::cont::tbb
 TBB implementation for Control Environment.
 
 vtkm::exec
 VTK-m Execution Environment.
 
 vtkm::exec::cuda
 CUDA implementation for Execution Environment.
 
 vtkm::exec::openmp
 CUDA implementation for Execution Environment.
 
 vtkm::exec::serial
 CUDA implementation for Execution Environment.
 
 vtkm::exec::tbb
 TBB implementation for Execution Environment.
 
 vtkm::filter
 VTK-m Filters.
 
 vtkm::interop
 VTK-m OpenGL Interoperability.
 
 vtkm::io
 VTK-m File input and output classes.
 
 vtkm::rendering
 VTK-m Rendering.
 
 vtkm::source
 VTK-m Input source such as Wavelet.
 
 vtkm::testing
 Internal testing classes.
 
 vtkm::worklet
 VTK-m Worklets.
 

Macros

#define VTK_M_SCALAR_DOT(stype)
 

Typedefs

using vtkm::Float32 = float
 
using vtkm::Float64 = double
 
using vtkm::Int8 = int8_t
 
using vtkm::UInt8 = uint8_t
 
using vtkm::Int16 = int16_t
 
using vtkm::UInt16 = uint16_t
 
using vtkm::Int32 = int32_t
 
using vtkm::UInt32 = uint32_t
 
using vtkm::IdComponent = vtkm::Int32
 Represents a component ID (index of component in a vector). More...
 
using vtkm::WordTypeDefault = vtkm::UInt32
 The default word size used for atomic bitwise operations. More...
 
using vtkm::Id = vtkm::Int32
 Represents an ID (index into arrays). More...
 
using vtkm::FloatDefault = vtkm::Float32
 The floating point type to use when no other precision is specified. More...
 
using vtkm::Id2 = vtkm::Vec< vtkm::Id, 2 >
 Id2 corresponds to a 2-dimensional index. More...
 
using vtkm::IdComponent2 = vtkm::Vec< vtkm::IdComponent, 2 >
 IdComponent2 corresponds to an index to a local (small) 2-d array or equivalent. More...
 
using vtkm::Vec2f = vtkm::Vec< vtkm::FloatDefault, 2 >
 Vec2f corresponds to a 2-dimensional vector of floating point values. More...
 
using vtkm::Vec2f_32 = vtkm::Vec< vtkm::Float32, 2 >
 Vec2f_32 corresponds to a 2-dimensional vector of 32-bit floating point values. More...
 
using vtkm::Vec2f_64 = vtkm::Vec< vtkm::Float64, 2 >
 Vec2f_64 corresponds to a 2-dimensional vector of 64-bit floating point values. More...
 
using vtkm::Vec2i = vtkm::Vec< vtkm::Id, 2 >
 Vec2i corresponds to a 2-dimensional vector of integer values. More...
 
using vtkm::Vec2i_8 = vtkm::Vec< vtkm::Int8, 2 >
 Vec2i_8 corresponds to a 2-dimensional vector of 8-bit integer values. More...
 
using vtkm::Vec2i_16 = vtkm::Vec< vtkm::Int16, 2 >
 Vec2i_16 corresponds to a 2-dimensional vector of 16-bit integer values. More...
 
using vtkm::Vec2i_32 = vtkm::Vec< vtkm::Int32, 2 >
 Vec2i_32 corresponds to a 2-dimensional vector of 32-bit integer values. More...
 
using vtkm::Vec2i_64 = vtkm::Vec< vtkm::Int64, 2 >
 Vec2i_64 corresponds to a 2-dimensional vector of 64-bit integer values. More...
 
using vtkm::Vec2ui = vtkm::Vec< vtkm::UInt32, 2 >
 Vec2ui corresponds to a 2-dimensional vector of unsigned integer values. More...
 
using vtkm::Vec2ui_8 = vtkm::Vec< vtkm::UInt8, 2 >
 Vec2ui_8 corresponds to a 2-dimensional vector of 8-bit unsigned integer values. More...
 
using vtkm::Vec2ui_16 = vtkm::Vec< vtkm::UInt16, 2 >
 Vec2ui_16 corresponds to a 2-dimensional vector of 16-bit unsigned integer values. More...
 
using vtkm::Vec2ui_32 = vtkm::Vec< vtkm::UInt32, 2 >
 Vec2ui_32 corresponds to a 2-dimensional vector of 32-bit unsigned integer values. More...
 
using vtkm::Vec2ui_64 = vtkm::Vec< vtkm::UInt64, 2 >
 Vec2ui_64 corresponds to a 2-dimensional vector of 64-bit unsigned integer values. More...
 
using vtkm::Id3 = vtkm::Vec< vtkm::Id, 3 >
 Id3 corresponds to a 3-dimensional index for 3d arrays. More...
 
using vtkm::IdComponent3 = vtkm::Vec< vtkm::IdComponent, 3 >
 IdComponent2 corresponds to an index to a local (small) 3-d array or equivalent. More...
 
using vtkm::Vec3f = vtkm::Vec< vtkm::FloatDefault, 3 >
 Vec3f corresponds to a 3-dimensional vector of floating point values. More...
 
using vtkm::Vec3f_32 = vtkm::Vec< vtkm::Float32, 3 >
 Vec3f_32 corresponds to a 3-dimensional vector of 32-bit floating point values. More...
 
using vtkm::Vec3f_64 = vtkm::Vec< vtkm::Float64, 3 >
 Vec3f_64 corresponds to a 3-dimensional vector of 64-bit floating point values. More...
 
using vtkm::Vec3i = vtkm::Vec< vtkm::Id, 3 >
 Vec3i corresponds to a 3-dimensional vector of integer values. More...
 
using vtkm::Vec3i_8 = vtkm::Vec< vtkm::Int8, 3 >
 Vec3i_8 corresponds to a 3-dimensional vector of 8-bit integer values. More...
 
using vtkm::Vec3i_16 = vtkm::Vec< vtkm::Int16, 3 >
 Vec3i_16 corresponds to a 3-dimensional vector of 16-bit integer values. More...
 
using vtkm::Vec3i_32 = vtkm::Vec< vtkm::Int32, 3 >
 Vec3i_32 corresponds to a 3-dimensional vector of 32-bit integer values. More...
 
using vtkm::Vec3i_64 = vtkm::Vec< vtkm::Int64, 3 >
 Vec3i_64 corresponds to a 3-dimensional vector of 64-bit integer values. More...
 
using vtkm::Vec3ui = vtkm::Vec< vtkm::UInt32, 3 >
 Vec3ui corresponds to a 3-dimensional vector of unsigned integer values. More...
 
using vtkm::Vec3ui_8 = vtkm::Vec< vtkm::UInt8, 3 >
 Vec3ui_8 corresponds to a 3-dimensional vector of 8-bit unsigned integer values. More...
 
using vtkm::Vec3ui_16 = vtkm::Vec< vtkm::UInt16, 3 >
 Vec3ui_16 corresponds to a 3-dimensional vector of 16-bit unsigned integer values. More...
 
using vtkm::Vec3ui_32 = vtkm::Vec< vtkm::UInt32, 3 >
 Vec3ui_32 corresponds to a 3-dimensional vector of 32-bit unsigned integer values. More...
 
using vtkm::Vec3ui_64 = vtkm::Vec< vtkm::UInt64, 3 >
 Vec3ui_64 corresponds to a 3-dimensional vector of 64-bit unsigned integer values. More...
 
using vtkm::Id4 = vtkm::Vec< vtkm::Id, 4 >
 Id4 corresponds to a 4-dimensional index. More...
 
using vtkm::IdComponent4 = vtkm::Vec< vtkm::IdComponent, 4 >
 IdComponent4 corresponds to an index to a local (small) 4-d array or equivalent. More...
 
using vtkm::Vec4f = vtkm::Vec< vtkm::FloatDefault, 4 >
 Vec4f corresponds to a 4-dimensional vector of floating point values. More...
 
using vtkm::Vec4f_32 = vtkm::Vec< vtkm::Float32, 4 >
 Vec4f_32 corresponds to a 4-dimensional vector of 32-bit floating point values. More...
 
using vtkm::Vec4f_64 = vtkm::Vec< vtkm::Float64, 4 >
 Vec4f_64 corresponds to a 4-dimensional vector of 64-bit floating point values. More...
 
using vtkm::Vec4i = vtkm::Vec< vtkm::Id, 4 >
 Vec4i corresponds to a 4-dimensional vector of integer values. More...
 
using vtkm::Vec4i_8 = vtkm::Vec< vtkm::Int8, 4 >
 Vec4i_8 corresponds to a 4-dimensional vector of 8-bit integer values. More...
 
using vtkm::Vec4i_16 = vtkm::Vec< vtkm::Int16, 4 >
 Vec4i_16 corresponds to a 4-dimensional vector of 16-bit integer values. More...
 
using vtkm::Vec4i_32 = vtkm::Vec< vtkm::Int32, 4 >
 Vec4i_32 corresponds to a 4-dimensional vector of 32-bit integer values. More...
 
using vtkm::Vec4i_64 = vtkm::Vec< vtkm::Int64, 4 >
 Vec4i_64 corresponds to a 4-dimensional vector of 64-bit integer values. More...
 
using vtkm::Vec4ui = vtkm::Vec< vtkm::UInt32, 4 >
 Vec4ui corresponds to a 4-dimensional vector of unsigned integer values. More...
 
using vtkm::Vec4ui_8 = vtkm::Vec< vtkm::UInt8, 4 >
 Vec4ui_8 corresponds to a 4-dimensional vector of 8-bit unsigned integer values. More...
 
using vtkm::Vec4ui_16 = vtkm::Vec< vtkm::UInt16, 4 >
 Vec4ui_16 corresponds to a 4-dimensional vector of 16-bit unsigned integer values. More...
 
using vtkm::Vec4ui_32 = vtkm::Vec< vtkm::UInt32, 4 >
 Vec4ui_32 corresponds to a 4-dimensional vector of 32-bit unsigned integer values. More...
 
using vtkm::Vec4ui_64 = vtkm::Vec< vtkm::UInt64, 4 >
 Vec4ui_64 corresponds to a 4-dimensional vector of 64-bit unsigned integer values. More...
 

Functions

template<typename T , typename... Ts>
constexpr VTKM_EXEC_CONT vtkm::Vec< T, vtkm::IdComponent(sizeof...(Ts)+1)> vtkm::make_Vec (T value0, Ts &&... args)
 Initializes and returns a Vec containing all the arguments. More...
 
template<typename T , vtkm::IdComponent Size>
VTKM_EXEC_CONTvtkm::ReduceSum (const vtkm::Vec< T, Size > &a)
 
template<typename T >
VTKM_EXEC_CONTvtkm::ReduceSum (const vtkm::Vec< T, 2 > &a)
 
template<typename T >
VTKM_EXEC_CONTvtkm::ReduceSum (const vtkm::Vec< T, 3 > &a)
 
template<typename T >
VTKM_EXEC_CONTvtkm::ReduceSum (const vtkm::Vec< T, 4 > &a)
 
template<typename T , vtkm::IdComponent Size>
VTKM_EXEC_CONTvtkm::ReduceProduct (const vtkm::Vec< T, Size > &a)
 
template<typename T >
VTKM_EXEC_CONTvtkm::ReduceProduct (const vtkm::Vec< T, 2 > &a)
 
template<typename T >
VTKM_EXEC_CONTvtkm::ReduceProduct (const vtkm::Vec< T, 3 > &a)
 
template<typename T >
VTKM_EXEC_CONTvtkm::ReduceProduct (const vtkm::Vec< T, 4 > &a)
 
template<typename T , vtkm::IdComponent Size>
VTKM_CONT std::ostream & vtkm::operator<< (std::ostream &stream, const vtkm::Vec< T, Size > &vec)
 Helper function for printing out vectors during testing. More...
 
template<typename T , typename U >
VTKM_EXEC_CONT std::ostream & vtkm::operator<< (std::ostream &stream, const vtkm::Pair< T, U > &vec)
 Helper function for printing out pairs during testing. More...
 

Variables

template<typename T , vtkm::IdComponent Size>
class VTKM_ALWAYS_EXPORT vtkm::Vec
 
template<typename T >
class VTKM_ALWAYS_EXPORT vtkm::VecC
 
template<typename T >
class VTKM_ALWAYS_EXPORT vtkm::VecCConst
 

Macro Definition Documentation

◆ VTK_M_SCALAR_DOT

#define VTK_M_SCALAR_DOT (   stype)
Value:
static inline VTKM_EXEC_CONT detail::DotType<stype>::type dot(stype a, stype b) \
{ \
return a * b; \
} /* LEGACY */ \
static inline VTKM_EXEC_CONT detail::DotType<stype>::type Dot(stype a, stype b) { return a * b; }
VTKM_EXEC_CONT
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52