VF_reflect | VD_reflect | VE_reflect |
VCF_reflect | VCD_reflect | VCE_reflect |
VPF_reflect | VPD_reflect | VPE_reflect |
VI_reflect | VBI_reflect | VSI_reflect | VLI_reflect | VQI_reflect | |
VU_reflect | VUB_reflect | VUS_reflect | VUL_reflect | VUQ_reflect | VUI_reflect |
|
Function | Derive 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/Delphi | uses 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/Delphi | uses VFstd;
function cudaVF_reflect( d_X:fVector; size:UIntSize ): IntBool;
procedure VFcu_reflect( h_X:fVector; size:UIntSize );
|
|
Description | Xsize-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. |
|
|
|
|