|
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] |
1.7.4