Tensor
A C++ expression template library for computations on N dimensional tensors
Namespaces | Classes | Typedefs
ftl Namespace Reference

Namespaces

 detail
 

Classes

struct  DynamicMapper
 
struct  StaticMapper
 Interface which provides static mapping (uses TMP to determine some of the mapping variables at compile time for improved performance) from indices to a single offset index and from an index offset to a list of indices. More...
 
class  TensorAddition
 Expression class for calculating the addition of two tensors. More...
 
struct  TensorContainer
 Container for tensor data depending on if the tensor is static (dimension sizes, and hence the total number of elements, are known at compile time – uses std::array) or dynamic (dimension sizes are not known at compile time – uses std::vector). More...
 
class  TensorContainer< Dtype >
 
class  TensorContainer< Dtype, SizeFirst, SizeRest...>
 
class  TensorExpression
 Defines a general tensor expression so that opertions on tensor expressions can be defined the syntax of the operations to look as they would mathematically. More...
 
class  TensorExpression< Expression, TensorTraits< DT, CPU, SF, SR...> >
 
class  TensorExpression< Expression, TensorTraits< Dtype, CPU > >
 
class  TensorInterface
 
class  TensorInterface< TensorTraits< DT, CPU > >
 
class  TensorInterface< TensorTraits< DT, CPU, SF, SR...> >
 
class  TensorSubtraction
 Expression class for calculating the subtraction of two tensors. More...
 
struct  TensorTraits
 Traits class which specifies parameters for a tensor, such as what type of container it uses and what type of device the computations should be performed on. More...
 
struct  TensorTraits< Dtype, DeviceType >
 
struct  TensorTraits< Dtype, DeviceType, SizeFirst, SizeRest...>
 

Typedefs

template<typename Dtype , device DeviceType, size_t... DimSizes>
using Tensor = TensorInterface< TensorTraits< Dtype, DeviceType, DimSizes...>>
 
template<typename DT >
using DynamicTensorCpu = TensorInterface< TensorTraits< DT, CPU >>
 
template<typename DT , size_t SF, size_t... SR>
using StaticTensorCpu = TensorInterface< TensorTraits< DT, CPU, SF, SR...>>
 
using device = short
 

Typedef Documentation

using ftl::device = typedef short
template<typename DT >
using ftl::DynamicTensorCpu = typedef TensorInterface<TensorTraits<DT, CPU>>
template<typename DT , size_t SF, size_t... SR>
using ftl::StaticTensorCpu = typedef TensorInterface<TensorTraits<DT, CPU, SF, SR...>>
template<typename Dtype , device DeviceType, size_t... DimSizes>
using ftl::Tensor = typedef TensorInterface<TensorTraits<Dtype, DeviceType, DimSizes...>>