FunctionDerive the second half of a vector from the first half by reflection at the midpoint.
Syntax C/C++#include <VFstd.h>
void VF_reflect( fVector X, ui size );
C++ VecObj#include <OptiVec.h>
void vector<T>::reflect();
Pascal/Delphiuses VFstd;
procedure VF_reflect( X:fVector; size:UIntSize );
CUDA function C/C++#include <cudaVFstd.h>
int cudaVF_reflect( fVector d_X, ui size );
void VFcu_reflect( fVector h_X, ui size );
CUDA function Pascal/Delphiuses VFstd;
function cudaVF_reflect( d_X:fVector; size:UIntSize ): IntBool;
procedure VFcu_reflect( h_X:fVector; size:UIntSize );
DescriptionXsize-i−1 = Xi,   i=0,...,(size−1)/2
The elements of the lower half of a vector are copied in reverse order into the upper half, i.e., the zero'th element is copied to the last, the element number 1 to the second last, and so on. The elements of the first half are not affected by this operation. This function will be used, e.g., to construct a response function for convolutions (see VF_convolve). In this case, note that the zero'th element is to appear only once in the response function and must not be included in the reflection by VF_reflect. Therefore, you have to calculate the response function for size/2+1 elements and to apply reflection from element 1 on. For an example, see VF_convolve.
Error handlingnone
Return valuenone
See alsoVF_rotate,   VF_rev,   VF_convolve,   VF_deconvolve,   VF_filter

VectorLib Table of Contents  OptiVec home