ERC CISST - cisst software

vctFixedSizeVectorRecursiveEngines< _size >::VioSiVi< _ioElementOperationType, _scalarVectorElementOperationType > Class Template Reference

#include <vctFixedSizeVectorRecursiveEngines.h>

List of all members.


Detailed Description

template<vct::size_type _size>
template<class _ioElementOperationType, class _scalarVectorElementOperationType>
class vctFixedSizeVectorRecursiveEngines< _size >::VioSiVi< _ioElementOperationType, _scalarVectorElementOperationType >

Implement operation of the form $v_{io} = op_{io}(v_{io}, op_{sv}(s, v_i))$ for fixed size vectors.

This class uses template specialization to perform store-back vector-scalar-vector operations

\[ v_{io} = \mathrm{op_{io}}(V_{io}, \mathrm{op_{sv}}(s, v_i)) \]

where $v_{io}$ is an input-output (store-back) vector; $s$ is a scalar; and $v_i$ is an input vector. A typical example is: $v_{io} += s \cdot v_i$. The vectors have a fixed size, determined at compilation time; $op_{sv}$ is an operation between $s$ and the elements of $v_i$; $op_{io}$ is an operation between the output of $op_{sv}$ and the elements of $v_{io}$.

Parameters:
_ioOperationType The type of the store-back operation.
_scalarVectorElementOperationType The type of the operation between scalar and input vector.
See also:
vctFixedSizeVectorRecursiveEngines

Definition at line 663 of file vctFixedSizeVectorRecursiveEngines.h.

Public Types

Static Public Member Functions


Member Function Documentation

template<vct::size_type _size>
template<class _ioElementOperationType, class _scalarVectorElementOperationType>
template<class _ioVectorType, class _inputScalarType, class _inputVectorType>
static void vctFixedSizeVectorRecursiveEngines< _size >::VioSiVi< _ioElementOperationType, _scalarVectorElementOperationType >::Unfold ( _ioVectorType &  ioVector,
const _inputScalarType &  inputScalar,
const _inputVectorType &  inputVector 
) [inline, static]

Unfold the recursion. Performs the operation _elementOperationType elementwise on the last elements of the input vector and the input scalar and call Unfold for the _size - 1 elements left (i.e. unfold the recursive calls). The incremental operation is applied to the result of the recursive Unfold call and the result of _elementOperationType(inputVector[_size], inputScalar[_size]).

Parameters:
inputVector The input vector (first operand for _elementOperationType).
inputScalar The input scalar (second operand for _elementOperationType).

Definition at line 686 of file vctFixedSizeVectorRecursiveEngines.h.


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