ERC CISST - cisst software

vctFixedSizeVectorRecursiveEngines< _size >::SoVoSi< _incrementalOperationType > Class Template Reference

#include <vctFixedSizeVectorRecursiveEngines.h>

List of all members.


Detailed Description

template<vct::size_type _size>
template<class _incrementalOperationType>
class vctFixedSizeVectorRecursiveEngines< _size >::SoVoSi< _incrementalOperationType >

Implement operation of the form $s_o = op_{incr}(op(v_o, s_i)$ for fixed size vectors.

This class uses template specialization to perform incremental binary vector operations of the form

\[ s_o = \mathrm{op_{incr}(v_{o}, s_i)} \]

where $v_{o}$ is the output vector and $s_o$ and $s_i$ are the scalar output and input. The vector has a fixed size, determined at compilation time. $op_{incr}$ is the incremental operation using $v_{o}[i]$ and $s_i$. For a vector of size 3, the result is $s_o = op_{incr}(op_{incr}(v_o[2], op_{incr}(v_o[1], op_{incr}(v_o[0], s_i))))$.

This engines is currently used by vctFixedSizeVector::SetAll with vctBinaryOperations::SecondOperand. For a vector of size 3, the result is: $s_o = v_o[2] = v_o[1] = v_o[0] = s_i$.

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

Definition at line 787 of file vctFixedSizeVectorRecursiveEngines.h.

Public Types

Static Public Member Functions


Member Function Documentation

template<vct::size_type _size>
template<class _incrementalOperationType>
template<class _outputVectorType, class _inputScalarType>
static OutputType vctFixedSizeVectorRecursiveEngines< _size >::SoVoSi< _incrementalOperationType >::Unfold ( _outputVectorType &  outputVector,
const _inputScalarType &  inputScalar 
) [inline, static]

Unfold the recursion. The incremental operation is applied to the result of the recursive Unfold call and the result of _incrementalOperationType(outputVector[_size], inputScalar).

Parameters:
outputVector The output vector (first operation of the incremental operation).
inputScalar The input scalar (second operand of the incremental operation).

Definition at line 806 of file vctFixedSizeVectorRecursiveEngines.h.


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