cisst-saw
Loading...
Searching...
No Matches
VioSi< _elementOperationType > Class Template Reference

Implement operation of the form \( v_{io} = op(v_{io}, s_i)\) for fixed size vectors. More...

#include <vctFixedSizeVectorRecursiveEngines.h>

Public Types

typedef vctFixedSizeVectorRecursiveEngines< _size-1 >::template VioSi< _elementOperationType > RecursiveStep

Static Public Member Functions

template<class _inputOutputVectorType, class _inputScalarType>
static void Unfold (_inputOutputVectorType &inputOutput, const _inputScalarType inputScalar)

Detailed Description

template<class _elementOperationType>
class VioSi< _elementOperationType >

Implement operation of the form \( v_{io} = op(v_{io}, s_i)\) for fixed size vectors.

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

\[v_{io} = \mathrm{op}(v_{io}, s_{i}) \]

where \(v_{io}\) is the input output vector, and \(s_{i}\) is the scalar input. The vector has a fixed size, determined at compilation time, op stands for the binary operation performed elementwise between \(v_{io}[index]\) and \(s_{i}\), and whose result is stored elementwise into \(v_{io}[index]\).

Parameters
_elementOperationTypethe type of the binary operation
See also
vctFixedSizeVectorRecursiveEngines

Member Typedef Documentation

◆ RecursiveStep

template<class _elementOperationType>
typedef vctFixedSizeVectorRecursiveEngines<_size-1>::template VioSi<_elementOperationType> VioSi< _elementOperationType >::RecursiveStep

Member Function Documentation

◆ Unfold()

template<class _elementOperationType>
template<class _inputOutputVectorType, class _inputScalarType>
void VioSi< _elementOperationType >::Unfold ( _inputOutputVectorType & inputOutput,
const _inputScalarType inputScalar )
inlinestatic

Unfold the recursion. Performs the operation _elementOperationType elementwise on the last elements of the input output vector and the input scalar and call Unfold for the _size - 1 elements left (i.e. unfold the recursive calls).

Parameters
inputOutputThe input output vector (first operand).
inputScalarThe input scalar (second operand).

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