ERC CISST - cisst software

vctDynamicVectorLoopEngines::SoViVi< _incrementalOperationType, _elementOperationType > Class Template Reference

#include <vctDynamicVectorLoopEngines.h>

List of all members.


Detailed Description

template<class _incrementalOperationType, class _elementOperationType>
class vctDynamicVectorLoopEngines::SoViVi< _incrementalOperationType, _elementOperationType >

Implement operation of the form $s_o = op_{incr}(op(v_{i1}, v_{i2}))$ for dynamic vectors.

This class uses a loop to perform incremental binary vector operations of the form

\[ s_o = \mathrm{op_{incr}(\mathrm{op}(v_{i1}, v_{i2}))} \]

where $v_{i1}$ and $v_{i2}$ are the input vectors and $s_o$ is the scalar output. The vectors have the same size, op stands for the unary operation performed elementwise on $v_{i1}$ and $v_{i2}$ and whose result are used incrementally as input for $op_{incr}$. For a vector of size 3, the result is $s_o = op_{incr}(op_{incr}(op(v1[1], v2[1]), op(v1[0], v2[0])), op(v1[2], v2[2]))$.

Parameters:
_incrementalOperationType The type of the incremental operation.
_elementOperationType The type of the unary operation.
See also:
vctFixedSizeVectorRecursiveEngines

Definition at line 733 of file vctDynamicVectorLoopEngines.h.

Public Types

Static Public Member Functions


Member Function Documentation

template<class _incrementalOperationType, class _elementOperationType>
template<class _input1VectorType, class _input2VectorType>
static OutputType vctDynamicVectorLoopEngines::SoViVi< _incrementalOperationType, _elementOperationType >::Run ( const _input1VectorType &  input1Vector,
const _input2VectorType &  input2Vector 
) [inline, static]

Unroll the loop

Parameters:
input1Vector The first input vector (first operand for _elementOperationType).
input2Vector The second input vector (second operand for _elementOperationType).

Definition at line 745 of file vctDynamicVectorLoopEngines.h.

References vctDynamicCompactLoopEngines::SoCiCi< _incrementalOperationType, _elementOperationType >::Run(), and vctDynamicVectorLoopEngines::ThrowException().


The documentation for this class was generated from the following file:
erc-cisst-devel<at>lists.johnshopkins.edu