Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
cutlass::Coord< N_ > Struct Template Reference

Statically-sized array specifying Coords within a tensor.

#include <coord.h>

Public Member Functions

CUTLASS_HOST_DEVICE Coord (int value=0)
 Default ctor initializes uniformly. More...
 
CUTLASS_HOST_DEVICE Coord (int _idx[])
 Constructs from an array of integers. More...
 
CUTLASS_HOST_DEVICE Coord operator+ (Coord const &b) const
 Element-wise addition. More...
 
CUTLASS_HOST_DEVICE Coord operator- (Coord const &b) const
 Element-wise subtraction. More...
 
CUTLASS_HOST_DEVICE Coord operator* (Coord const &b) const
 Element-wise multiplication. More...
 
CUTLASS_HOST_DEVICE Coord operator/ (Coord const &b) const
 Element-wise division. More...
 
CUTLASS_HOST_DEVICE Coordoperator+= (Coord const &b)
 In-place addition. More...
 
CUTLASS_HOST_DEVICE Coordoperator-= (Coord const &b)
 In-place subtraction. More...
 
CUTLASS_HOST_DEVICE Coordoperator*= (Coord const &b)
 In-place multiplication. More...
 
CUTLASS_HOST_DEVICE Coordoperator/= (Coord const &b)
 In-place division. More...
 
CUTLASS_HOST_DEVICE int & operator[] (int dim)
 Member access operator. More...
 
CUTLASS_HOST_DEVICE int const & operator[] (int dim) const
 Member access operator. More...
 
template<typename T >
CUTLASS_HOST_DEVICEdot (Coord const &b, T sum) const
 Computes the dot product of two Coord instances. More...
 
template<typename T >
CUTLASS_HOST_DEVICEdot (Coord const &b) const
 Computes the dot product of two Coord instances. More...
 
template<int Dim>
CUTLASS_HOST_DEVICE int & at ()
 Gets the index of a given Coord element. More...
 
CUTLASS_HOST_DEVICE int & at (int dim)
 Access via index; may limit unrolling potential. More...
 
template<int Dim>
CUTLASS_HOST_DEVICE int const & at () const
 Gets the index of a given Coord element. More...
 
CUTLASS_HOST_DEVICE int const & at (int dim) const
 Access via index; may limit unrolling potential. More...
 
CUTLASS_HOST_DEVICE bool operator== (Coord< N > const &b) const
 Determines if two Coord<> objects are equal. More...
 
CUTLASS_HOST_DEVICE bool operator!= (Coord< N > const &b) const
 Not equal. More...
 
CUTLASS_HOST_DEVICE Coordclamp (Coord< N > const &max, Coord< N > const &min=Coord< N >())
 Clamps a coordinate to a range specified by maximum and minimum values. More...
 
CUTLASS_HOST_DEVICE int count () const
 Returns the product of all elements. More...
 

Public Attributes

int idx [N]
 Indices. More...
 

Static Public Attributes

static int const N = N_
 

Constructor & Destructor Documentation

◆ Coord() [1/2]

template<int N_>
CUTLASS_HOST_DEVICE cutlass::Coord< N_ >::Coord ( int  value = 0)
inline

◆ Coord() [2/2]

template<int N_>
CUTLASS_HOST_DEVICE cutlass::Coord< N_ >::Coord ( int  _idx[])
inline

Member Function Documentation

◆ at() [1/4]

template<int N_>
template<int Dim>
CUTLASS_HOST_DEVICE int& cutlass::Coord< N_ >::at ( )
inline

◆ at() [2/4]

template<int N_>
CUTLASS_HOST_DEVICE int& cutlass::Coord< N_ >::at ( int  dim)
inline

◆ at() [3/4]

template<int N_>
template<int Dim>
CUTLASS_HOST_DEVICE int const& cutlass::Coord< N_ >::at ( ) const
inline

◆ at() [4/4]

template<int N_>
CUTLASS_HOST_DEVICE int const& cutlass::Coord< N_ >::at ( int  dim) const
inline

◆ clamp()

template<int N_>
CUTLASS_HOST_DEVICE Coord& cutlass::Coord< N_ >::clamp ( Coord< N > const &  max,
Coord< N > const &  min = Coord<N>() 
)
inline

◆ count()

template<int N_>
CUTLASS_HOST_DEVICE int cutlass::Coord< N_ >::count ( ) const
inline

◆ dot() [1/2]

template<int N_>
template<typename T >
CUTLASS_HOST_DEVICE T cutlass::Coord< N_ >::dot ( Coord< N_ > const &  b,
sum 
) const
inline

◆ dot() [2/2]

template<int N_>
template<typename T >
CUTLASS_HOST_DEVICE T cutlass::Coord< N_ >::dot ( Coord< N_ > const &  b) const
inline

◆ operator!=()

template<int N_>
CUTLASS_HOST_DEVICE bool cutlass::Coord< N_ >::operator!= ( Coord< N > const &  b) const
inline

◆ operator*()

template<int N_>
CUTLASS_HOST_DEVICE Coord cutlass::Coord< N_ >::operator* ( Coord< N_ > const &  b) const
inline

◆ operator*=()

template<int N_>
CUTLASS_HOST_DEVICE Coord& cutlass::Coord< N_ >::operator*= ( Coord< N_ > const &  b)
inline

◆ operator+()

template<int N_>
CUTLASS_HOST_DEVICE Coord cutlass::Coord< N_ >::operator+ ( Coord< N_ > const &  b) const
inline

◆ operator+=()

template<int N_>
CUTLASS_HOST_DEVICE Coord& cutlass::Coord< N_ >::operator+= ( Coord< N_ > const &  b)
inline

◆ operator-()

template<int N_>
CUTLASS_HOST_DEVICE Coord cutlass::Coord< N_ >::operator- ( Coord< N_ > const &  b) const
inline

◆ operator-=()

template<int N_>
CUTLASS_HOST_DEVICE Coord& cutlass::Coord< N_ >::operator-= ( Coord< N_ > const &  b)
inline

◆ operator/()

template<int N_>
CUTLASS_HOST_DEVICE Coord cutlass::Coord< N_ >::operator/ ( Coord< N_ > const &  b) const
inline

◆ operator/=()

template<int N_>
CUTLASS_HOST_DEVICE Coord& cutlass::Coord< N_ >::operator/= ( Coord< N_ > const &  b)
inline

◆ operator==()

template<int N_>
CUTLASS_HOST_DEVICE bool cutlass::Coord< N_ >::operator== ( Coord< N > const &  b) const
inline

◆ operator[]() [1/2]

template<int N_>
CUTLASS_HOST_DEVICE int& cutlass::Coord< N_ >::operator[] ( int  dim)
inline

◆ operator[]() [2/2]

template<int N_>
CUTLASS_HOST_DEVICE int const& cutlass::Coord< N_ >::operator[] ( int  dim) const
inline

Member Data Documentation

◆ idx

template<int N_>
int cutlass::Coord< N_ >::idx[N]

◆ N

template<int N_>
int const cutlass::Coord< N_ >::N = N_
static

The documentation for this struct was generated from the following file: