TrackedVisitor< Derived, Vectorizable > Struct Template Reference

Public Types

using Scalar = typename DenseBase< Derived >::Scalar
 

Public Member Functions

void init (Scalar v, Index i, Index j)
 
template<typename Packet >
void initpacket (Packet p, Index i, Index j)
 
void operator() (Scalar v, Index i, Index j)
 
template<typename Packet >
void packet (Packet p, Index i, Index j)
 

Public Attributes

std::vector< std::pair< Index, Index > > visited
 
Index scalarOps = 0
 
Index vectorOps = 0
 

Static Public Attributes

static constexpr int PacketSize = Eigen::internal::packet_traits<Scalar>::size
 
static constexpr bool RowMajor = Derived::IsRowMajor
 

Member Typedef Documentation

◆ Scalar

template<typename Derived , bool Vectorizable>
using TrackedVisitor< Derived, Vectorizable >::Scalar = typename DenseBase<Derived>::Scalar

Member Function Documentation

◆ init()

template<typename Derived , bool Vectorizable>
void TrackedVisitor< Derived, Vectorizable >::init ( Scalar  v,
Index  i,
Index  j 
)
inline
203 { return this->operator()(v, i, j); }
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
int i
Definition: BiCGSTAB_step_by_step.cpp:9
void operator()(Scalar v, Index i, Index j)
Definition: visitor.cpp:208
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2

References i, j, and TrackedVisitor< Derived, Vectorizable >::operator()().

◆ initpacket()

template<typename Derived , bool Vectorizable>
template<typename Packet >
void TrackedVisitor< Derived, Vectorizable >::initpacket ( Packet  p,
Index  i,
Index  j 
)
inline
205  {
206  return this->packet(p, i, j);
207  }
void packet(Packet p, Index i, Index j)
Definition: visitor.cpp:215

References i, j, and TrackedVisitor< Derived, Vectorizable >::packet().

◆ operator()()

template<typename Derived , bool Vectorizable>
void TrackedVisitor< Derived, Vectorizable >::operator() ( Scalar  v,
Index  i,
Index  j 
)
inline
208  {
210  visited.emplace_back(i, j);
211  scalarOps++;
212  }
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:966
std::vector< std::pair< Index, Index > > visited
Definition: visitor.cpp:224
Index scalarOps
Definition: visitor.cpp:225

References EIGEN_UNUSED_VARIABLE, i, j, TrackedVisitor< Derived, Vectorizable >::scalarOps, v, and TrackedVisitor< Derived, Vectorizable >::visited.

Referenced by TrackedVisitor< Derived, Vectorizable >::init().

◆ packet()

template<typename Derived , bool Vectorizable>
template<typename Packet >
void TrackedVisitor< Derived, Vectorizable >::packet ( Packet  p,
Index  i,
Index  j 
)
inline
215  {
217  for (int k = 0; k < PacketSize; k++)
218  if (RowMajor)
219  visited.emplace_back(i, j + k);
220  else
221  visited.emplace_back(i + k, j);
222  vectorOps++;
223  }
float * p
Definition: Tutorial_Map_using.cpp:9
char char char int int * k
Definition: level2_impl.h:374
static constexpr bool RowMajor
Definition: visitor.cpp:201
Index vectorOps
Definition: visitor.cpp:226
static constexpr int PacketSize
Definition: visitor.cpp:200

References EIGEN_UNUSED_VARIABLE, i, j, k, p, TrackedVisitor< Derived, Vectorizable >::PacketSize, TrackedVisitor< Derived, Vectorizable >::RowMajor, TrackedVisitor< Derived, Vectorizable >::vectorOps, and TrackedVisitor< Derived, Vectorizable >::visited.

Referenced by TrackedVisitor< Derived, Vectorizable >::initpacket().

Member Data Documentation

◆ PacketSize

template<typename Derived , bool Vectorizable>
constexpr int TrackedVisitor< Derived, Vectorizable >::PacketSize = Eigen::internal::packet_traits<Scalar>::size
staticconstexpr

◆ RowMajor

template<typename Derived , bool Vectorizable>
constexpr bool TrackedVisitor< Derived, Vectorizable >::RowMajor = Derived::IsRowMajor
staticconstexpr

◆ scalarOps

template<typename Derived , bool Vectorizable>
Index TrackedVisitor< Derived, Vectorizable >::scalarOps = 0

◆ vectorOps

template<typename Derived , bool Vectorizable>
Index TrackedVisitor< Derived, Vectorizable >::vectorOps = 0

◆ visited

template<typename Derived , bool Vectorizable>
std::vector<std::pair<Index, Index> > TrackedVisitor< Derived, Vectorizable >::visited

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