|
CUV
0.9.201304091348
|
primarily used as result of tensor::operator[] More...
#include <tensor.hpp>


Public Member Functions | |
| tensor_view () | |
| default constructor does nothing | |
| tensor_view & | operator= (const tensor< V, M, L > &o) |
| /always/ try to copy memory | |
| tensor_view & | operator= (const tensor_view< V, M, L > &o) |
| /always/ try to copy memory | |
| template<class _V > | |
| boost::enable_if_c < boost::is_convertible< _V, V > ::value, tensor_view & >::type | operator= (const _V &scalar) |
| assign from value (sets all elements equal to one scalar) | |
| template<class OM > | |
| tensor_view & | operator= (const tensor< V, OM, L > &o) |
| assignment operator for other memory space type | |
| template<class OM > | |
| tensor_view & | operator= (const tensor_view< V, OM, L > &o) |
| assignment operator for views in other memory space types | |
| template<int D, int E> | |
| tensor_view (const tensor< V, M, L > &o, const index_gen< D, E > &idx) | |
| construct tensor_view | |
| template<int D, int E> | |
| tensor_view (const index_gen< D, E > &idx, const tensor< V, M, L > &o) | |
| different order of arguments as above, all else being equal. | |
Public Member Functions inherited from cuv::tensor< V, M, L > | |
| template<std::size_t D> | |
| size_type | index_of (const extent_gen< D > &eg) const |
| determine linear index in memory of an index array | |
| template<class T > | |
| tensor | copy (T tag=linear_memory_tag()) const |
| copy memory using given allocator tag (linear/pitched) | |
| tensor | copy () const |
| copy memory using linear memory | |
| template<int D, int E> | |
| tensor_view< V, M, L > | operator[] (const index_gen< D, E > &idx) const |
| create a subtensor of the current tensor. | |
| template<std::size_t D> | |
| void | reshape (const extent_gen< D > &eg) |
| reshape the tensor (in place) | |
| void | reshape (const std::vector< size_type > &shape) |
| reshape the tensor (in place) | |
| void | reshape (size_type r, size_type c) |
| convenience wrapper for reshape(extents[r][c]) | |
| void | resize (const std::vector< size_type > &shape) |
| resize the tensor (deallocates memory if product changes, otherwise equivalent to reshape) | |
| template<std::size_t D> | |
| void | resize (const extent_gen< D > &eg) |
| resize the tensor (deallocates memory if product changes, otherwise equivalent to reshape) | |
| void | dealloc () |
| force deallocation of memory if possible | |
| index_type | ndim () const |
| return the number of dimensions | |
| size_type | shape (const index_type &i) const |
| return the size of the i-th dimension | |
| index_type | stride (const index_type &i) const |
| return the stride of the i-th dimension | |
| pointer_type | ptr () |
| const_pointer_type | ptr () const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | set_ptr_offset (long int i) |
| set the pointer offset (used in deserialization) | |
| boost::shared_ptr< memory_type > & | mem () |
| const boost::shared_ptr < memory_type > & | mem () const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| size_type | size () const |
| size_type | memsize () const |
| determine size in bytes | |
| std::vector< size_type > | shape () const |
| return the shape of the tensor (as a vector for backward compatibility) | |
| std::vector< size_type > | effective_shape () const |
| return the effective shape of the tensor (as a vector for backward compatibility) | |
| const info_type & | info () const |
| info_type & | info () |
| bool | is_c_contiguous () const |
| true iff there are no "holes" in memory | |
| bool | is_2dcopyable () const |
| true iff it can be copied as a 2d array (only one dimension is pitched) | |
| reference_type | operator[] (index_type idx) |
| scalar referecne access: "flat" access as if memory was linear. | |
| const_reference_type | operator[] (index_type idx) const |
| reference_type | operator() (index_type i0) |
| get a reference to the datum at an index | |
| const_reference_type | operator() (index_type i0) const |
| const_reference_type | operator() (index_type i0, index_type i1) const |
| reference_type | operator() (index_type i0, index_type i1) |
| const_reference_type | operator() (index_type i0, index_type i1, index_type i2) const |
| reference_type | operator() (index_type i0, index_type i1, index_type i2) |
| const_reference_type | operator() (index_type i0, index_type i1, index_type i2, index_type i3) const |
| reference_type | operator() (index_type i0, index_type i1, index_type i2, index_type i3) |
| const_reference_type | operator() (index_type i0, index_type i1, index_type i2, index_type i3, index_type i4) const |
| reference_type | operator() (index_type i0, index_type i1, index_type i2, index_type i3, index_type i4) |
| tensor () | |
| default constructor (does nothing) | |
| tensor (const tensor &o) | |
| construct tensor from tensor of exact same type | |
| template<class OM > | |
| tensor (const tensor< value_type, OM, L > &o) | |
| construct tensor from tensor of other memory space in (dense) /linear/ memory. | |
| tensor (const tensor &o, pitched_memory_tag) | |
| construct tensor from tensor of same memory space in /pitched/ memory. | |
| template<class OM > | |
| tensor (const tensor< value_type, OM, L > &o, pitched_memory_tag) | |
| construct tensor from tensor of other memory space in /pitched/ memory. | |
| tensor (const tensor &o, linear_memory_tag) | |
| construct tensor from tensor of same memory space in (dense) /linear/ memory. | |
| template<class OM > | |
| tensor (const tensor< value_type, OM, L > &o, linear_memory_tag) | |
| construct tensor from tensor of other memory space in (dense) /linear/ memory. | |
| template<class OL > | |
| tensor (const tensor< value_type, M, OL > &o) | |
| construct tensor from other memory layout | |
| tensor (const size_type i) | |
| construct one-dimensional tensor | |
| tensor (const size_type i, const int j) | |
| construct two-dimensional tensor | |
| template<std::size_t D> | |
| tensor (const extent_gen< D > &eg) | |
| construct tensor from a shape | |
| tensor (const std::vector< size_type > &eg) | |
| construct tensor from a shape | |
| tensor (const std::vector< size_type > &eg, pitched_memory_tag) | |
| construct tensor from a shape | |
| template<std::size_t D> | |
| tensor (const extent_gen< D > &eg, pitched_memory_tag) | |
| construct tensor from a shape (pitched) | |
| template<std::size_t D> | |
| tensor (const extent_gen< D > &eg, value_type *ptr) | |
| construct tensor from a shape and a pointer (does not copy memory) | |
| tensor (const std::vector< size_type > &shape, value_type *ptr) | |
| template<int D, int E> | |
| tensor (const index_gen< D, E > &idx, value_type *ptr) | |
| construct tensor from a shape and a pointer (does not copy memory) | |
| template<class _M , class _L > | |
| tensor & | assign (const tensor< V, _M, _L > &o) |
| explicitly assign by copying memory | |
| template<class OM > | |
| tensor & | operator= (const tensor< value_type, OM, L > &o) |
| assign from tensor of different memory space type. | |
| template<class OL > | |
| tensor & | operator= (const tensor< value_type, M, OL > &o) |
| assign from tensor of different memory layout type. | |
Additional Inherited Members | |
Public Types inherited from cuv::tensor< V, M, L > | |
| typedef memory< V, M > | memory_type |
| type of stored memory | |
| typedef memory_type::reference_type | reference_type |
| values returned by operator() and [] | |
|
typedef memory_type::const_reference_type | const_reference_type |
| values returned by operator() | |
|
typedef memory_type::memory_space_type | memory_space_type |
| dev/host | |
| typedef memory_type::value_type | value_type |
| type of stored values | |
| typedef memory_type::size_type | size_type |
| type shapes | |
| typedef memory_type::index_type | index_type |
| type strides | |
| typedef memory_type::pointer_type | pointer_type |
| type of data pointers | |
|
typedef memory_type::const_pointer_type | const_pointer_type |
| type of const data pointers | |
| typedef L | memory_layout_type |
| column/row major | |
| typedef tensor_info< M, L > | info_type |
| type of shape info struct | |
| typedef tensor_view< V, M, L > | view_type |
| type of views on this tensor | |
Protected Member Functions inherited from cuv::tensor< V, M, L > | |
| size_type | index_of (int D, index_type *arr) const |
| determine linear index in memory of an index array | |
| void | allocate (tensor &t, linear_memory_tag) |
| allocate linear memory (c-contiguous version) | |
| void | allocate (tensor &t, pitched_memory_tag) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. pitched version. | |
Protected Attributes inherited from cuv::tensor< V, M, L > | |
| info_type | m_info |
| information about shape, strides | |
| boost::shared_ptr< memory_type > | m_memory |
| points to (possibly shared) memory | |
| V * | m_ptr |
| points to start of actually referenced memory (within m_memory) | |
primarily used as result of tensor::operator[]
Definition at line 1721 of file tensor.hpp.
|
inlineexplicit |
construct tensor_view
| idx | the indices of the subtensor |
| o | the original tensor |
Example:
Definition at line 1817 of file tensor.hpp.
|
inlineexplicit |
different order of arguments as above, all else being equal.
| idx | a set of index ranges into o |
| o | other tensor |
Definition at line 1862 of file tensor.hpp.
|
inline |
assign from value (sets all elements equal to one scalar)
| scalar | value which should be assigned to all elements |
Reimplemented from cuv::tensor< V, M, L >.
Definition at line 1756 of file tensor.hpp.
|
inline |
assignment operator for other memory space type
| o | a tensor of another memory space type |
Definition at line 1766 of file tensor.hpp.
|
inline |
assignment operator for views in other memory space types
| o | a tensor_view of another memory space type |
Definition at line 1778 of file tensor.hpp.
1.8.1.2