Viskores  1.0
Classes | Namespaces | Macros | Typedefs | Functions
Types.h File Reference
#include <viskores/internal/Configure.h>
#include <viskores/internal/ExportMacros.h>
#include <viskores/Assert.h>
#include <viskores/StaticAssert.h>
#include <cstdint>
#include <iostream>
#include <type_traits>
#include <viskores/internal/VecOperators.h>

Go to the source code of this file.

Classes

struct  viskores::Add
 
struct  viskores::Subtract
 
struct  viskores::Multiply
 
struct  viskores::Divide
 
struct  viskores::Negate
 
class  viskores::Vec< T, Size >
 A short fixed-length array. More...
 
class  viskores::VecC< T >
 A Vec-like representation for short arrays. More...
 
class  viskores::VecCConst< T >
 A const version of VecC. More...
 
class  viskores::Vec< T, Size >
 A short fixed-length array. More...
 
class  viskores::Vec< T, 0 >
 
class  viskores::Vec< T, 1 >
 
class  viskores::Vec< T, 2 >
 
class  viskores::Vec< T, 3 >
 
class  viskores::Vec< T, 4 >
 
class  viskores::VecC< T >
 A Vec-like representation for short arrays. More...
 
class  viskores::VecCConst< T >
 A const version of VecC. More...
 
struct  viskores::Pair< T1, T2 >
 A viskores::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

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

Macros

#define VISKORES_UNUSED_INT_TYPE   long
 
#define VISKORES_SCALAR_DOT(stype)
 

Typedefs

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

Functions

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

Macro Definition Documentation

◆ VISKORES_SCALAR_DOT

#define VISKORES_SCALAR_DOT (   stype)
Value:
static inline VISKORES_EXEC_CONT auto dot(stype a, stype b) \
{ \
return a * b; \
} /* LEGACY */ \
static inline VISKORES_EXEC_CONT auto Dot(stype a, stype b) \
{ \
return a * b; \
}

◆ VISKORES_UNUSED_INT_TYPE

#define VISKORES_UNUSED_INT_TYPE   long
VISKORES_EXEC_CONT
#define VISKORES_EXEC_CONT
Definition: ExportMacros.h:60