|
constexpr | ScalarBroadcast (const Scalar< T > &scalar, const Vec< int, Rank > &dims) |
|
template<int L, CacheMode Mode> |
constexpr Vec< ValueType, L > | vectorReadImpl (const Vec< int, Rank > &) const |
|
constexpr auto | dimsImpl () const |
|
constexpr | TensorOp (Children... args) |
|
template<int N = 0> |
constexpr auto & | child () |
| Access children. More...
|
|
constexpr auto & | lhs () |
| Get the first subexpression if this is a binary operation. More...
|
|
constexpr auto & | rhs () |
| Get the second subexpression if this is a binary operation. More...
|
|
template<int N = 0> |
constexpr const auto & | child () const |
|
constexpr const auto & | lhs () const |
|
constexpr const auto & | rhs () const |
|
template<typename F > |
constexpr void | forEachChild (F &lambda) |
| Run a lambda function on each child. More...
|
|
auto | dims () const |
|
bool | boundsCheck (const Vec< int, Rank > &pos) const |
|
template<int L, CacheMode Mode = CacheMode::DEFAULT> |
auto | vectorRead (const Vec< int, Rank > &pos) const |
|
template<int L, CacheMode Mode = CacheMode::DEFAULT> |
auto | vectorOffsetRead (const Vec< int, Rank > &base, const Vec< int, Rank > &offset) const |
|
template<int L, CacheMode Mode = CacheMode::DEFAULT> |
auto | maskedVectorRead (const Vec< int, Rank > &pos) const |
|
template<int L, CacheMode Mode = CacheMode::DEFAULT, typename T > |
void | vectorWrite (const Vec< int, Rank > &pos, const Vec< T, L > &values) |
|
template<int L, CacheMode Mode = CacheMode::DEFAULT, typename T > |
void | maskedVectorWrite (const Vec< int, Rank > &pos, const Vec< T, L > &values) |
|
int | sizeQuantisation () const |
|
int | totalSize () const |
| Get the total memory occupied by the Tensor , in terms of elements. More...
|
|
auto | getView (const sp::Vec< int, Rank > &start, const sp::Vec< int, Rank > &size) |
| Get an object that represents (and aliases) a portion of this object. More...
|
|
int | dim (int d) const |
| Behaviour common to all TensorLikes ///. More...
|
|
template<CacheMode Mode = CacheMode::DEFAULT> |
auto | read (const Vec< int, Rank > &pos) const |
| Get the element at a given position. More...
|
|
template<CacheMode Mode = CacheMode::DEFAULT, typename T > |
void | write (const Vec< int, Rank > &pos, const T &value) |
| Set a single element. More...
|
|
template<int Dummy = 0> |
int | size () const |
|
template<int L> |
void | boundsCheckAccess (Vec< int, Rank > pos) const |
| Bounds-check an L-element vector read at pos . More...
|
|
|
constexpr static bool | commutative () |
|
constexpr static bool | associative () |
|
constexpr static bool | total () |
|
constexpr static bool | hasIdentity () |
|
constexpr static bool | invertible () |
|
template<typename T > |
constexpr static auto | getIdentityImpl () |
|
template<typename T > |
constexpr static auto | getIdentity () |
|
static constexpr int | Arity = sizeof...(Children) |
|
constexpr static int | Rank = TensorRank |
|
constexpr | Operator (Children... args) |
|
template<typename F , int... I> |
constexpr void | forEachChild (F &lambda, sp::int_sequence< I... > &) |
|
template<typename Dummy = void*> |
auto | dimsImpl () const |
| Get an sp::Vec<int, X> representing the dimensions of the object. More...
|
|
bool | boundsCheckImpl (const sp::Vec< int, Rank > &) const |
| Return true iff the given coordinates are inside the object (Default implementation below) More...
|
|
int | sizeQuantisationImpl () const |
| The last dimension is rounded up to the next multiple of this value for the purposes of bounds checks. More...
|
|
template<int L, CacheMode Mode = CacheMode::DEFAULT> |
auto | vectorReadImpl (const Vec< int, Rank > &) const |
| Read L elements, adjacent in the last dimension, starting at the given position. More...
|
|
template<int L, CacheMode Mode = CacheMode::DEFAULT> |
auto | vectorOffsetReadImpl (const Vec< int, Rank > &base, const Vec< int, Rank > &offset) const |
| Read L elements, adjacent in the last dimension, from position base + offset . More...
|
|
template<int L, CacheMode Mode = CacheMode::DEFAULT> |
auto | maskedVectorReadImpl (const Vec< int, Rank > &pos) const |
| Do a vectorRead that copes with the possibility of part of the vector being out of bounds. More...
|
|
template<int L, CacheMode Mode = CacheMode::DEFAULT, typename T > |
void | maskedVectorWriteImpl (const Vec< int, Rank > &pos, const Vec< T, L > &values) |
| Do a vectorWrite that copes with the possibility of part of the vector being out of bounds. More...
|
|
template<int L, CacheMode Mode, typename T > |
void | vectorWriteImpl (const Vec< int, Rank > &pos, const Vec< T, L > &values) |
| Write L elements, adjacent in the last dimension, starting at the given position. More...
|
|
auto | getViewImpl (const sp::Vec< int, Rank > &start, const sp::Vec< int, Rank > &size) |
| The default implementation just makes a TensorView . Not hugely fast, but always works. More...
|
|
std::tuple< Children... > | children |
|
template<typename T, int Rank>
struct sp::ScalarBroadcast< T, Rank >
Broadcasts the same scalar to every element of a logical tensor.
- Template Parameters
-
T | The type of the scalar. |
Rank | The rank of the resulting tensor. |