PLearn 0.1
|
#include <Tensor.h>
Public Member Functions | |
TTensorElementIterator () | |
TTensorElementIterator (TTensor< T > *tensor_, const IVec &pos) | |
TTensorElementIterator< T > & | operator++ () |
T * | operator-> () const |
T & | operator* () const |
bool | operator== (const TTensorElementIterator &other) |
bool | operator!= (const TTensorElementIterator &other) |
IVec | position () const |
bool | end () const |
Private Attributes | |
TTensor< T > * | tensor |
IVec | position_ |
IVec | stride_minus_width |
T * | ptr |
bool | end_met |
PLearn::TTensorElementIterator< T >::TTensorElementIterator | ( | ) | [inline] |
PLearn::TTensorElementIterator< T >::TTensorElementIterator | ( | TTensor< T > * | tensor_, |
const IVec & | pos | ||
) | [inline] |
bool PLearn::TTensorElementIterator< T >::end | ( | ) | const [inline] |
bool PLearn::TTensorElementIterator< T >::operator!= | ( | const TTensorElementIterator< T > & | other | ) | [inline] |
Definition at line 97 of file Tensor.h.
References PLearn::TTensorElementIterator< T >::ptr.
{ return ptr!=other.ptr; }
T& PLearn::TTensorElementIterator< T >::operator* | ( | ) | const [inline] |
TTensorElementIterator< T > & PLearn::TTensorElementIterator< T >::operator++ | ( | ) | [inline] |
Definition at line 405 of file Tensor.h.
References i.
{ ptr+=tensor->stride_[0]; position_[0]++; // if we hit the end of the first dimension // we need to compute a few things if(position_[0]==tensor->width_[0]) { bool found=false; int idx=0; // find the lowest index of the position vector we can increment // a.k.a get the next element of the tensor while(!found && idx<(signed int)(tensor->ndims()-1)) { idx++; found = position_[idx]<tensor->width_[idx]-1; } if(found) { position_[idx]++; for(int i=0;i<idx;i++) { ptr+=stride_minus_width[i]; position_[i]=0; } } else // all elements of the tensor have been visited end_met=true; } return *this; }
T* PLearn::TTensorElementIterator< T >::operator-> | ( | ) | const [inline] |
bool PLearn::TTensorElementIterator< T >::operator== | ( | const TTensorElementIterator< T > & | other | ) | [inline] |
Definition at line 94 of file Tensor.h.
References PLearn::TTensorElementIterator< T >::ptr.
{ return ptr==other.ptr; }
IVec PLearn::TTensorElementIterator< T >::position | ( | ) | const [inline] |
bool PLearn::TTensorElementIterator< T >::end_met [private] |
IVec PLearn::TTensorElementIterator< T >::position_ [private] |
T* PLearn::TTensorElementIterator< T >::ptr [private] |
Definition at line 66 of file Tensor.h.
Referenced by PLearn::TTensorElementIterator< T >::operator!=(), and PLearn::TTensorElementIterator< T >::operator==().
IVec PLearn::TTensorElementIterator< T >::stride_minus_width [private] |
TTensor<T>* PLearn::TTensorElementIterator< T >::tensor [private] |