VF_flushInvVD_flushInvVE_flushInv
VCF_flushInvVCD_flushInvVCE_flushInv
FunctionTake the inverse of vector elements with an absolute value larger than a certain threshold, set the result to 0 for those below the threshold
Syntax C/C++#include <VFmath.h>
void VF_flushInv( fVector Y, fVector X, ui size, float AbsMin );
void VCF_flushInv( fVector Y, fVector X, ui size, fComplex AbsMin );
C++ VecObj#include <OptiVec.h>
void vector<T>::flushInv( const vector<T>& X, const T& AbsMin );
void vector<T>::flushInv( const vector<T>& X, complex<T> AbsMin );
Pascal/Delphiuses VFmath;
procedure VF_flushInv( Y, X:fVector; size:UIntSize; AbsMin:Single );
procedure VCF_flushInv( Y, X:cfVector; size:UIntSize; AbsMin:fComplex );
CUDA function C/C++#include <cudaVFmath.h>
int cudaVF_flushInv( fVector d_Y, fVector d_X, ui size, float AbsMin );
int cusdVF_flushInv( fVector d_Y, fVector d_X, ui size, float *d_AbsMin );
void VFcu_flushInv( fVector h_Y, fVector h_X, ui size, float AbsMin );
CUDA function Pascal/Delphiuses VFmath;
function cudaVF_flushInv( d_Y, d_X:fVector; size:UIntSize; AbsMin:Single ): IntBool;
function cusdVF_flushInv( d_Y, d_X:fVector; size:UIntSize; d_AbsMin:PSingle ): IntBool;
procedure VFcu_flushInv( h_Y, h_X:fVector; size:UIntSize; AbsMin:Single );
DescriptionYi = 1.0 / Xi, if | Xi | ≥ AbsMin,
Yi = 0, otherwise.

Complex versions:
Yi = 1.0 / Xi, if | Xi.Re | ≥ AbsMin.Re and | Xi.Im | ≥ AbsMin.Im,
   1.0 / Xi.Re, if | Xi.Re | ≥ AbsMin.Re and | Xi.Im | < AbsMin.Im,
   {0.0, −1.0 / Xi.Im}, if | Xi.Re | < AbsMin.Re and | Xi.Im | ≥ AbsMin.Im,
   0, otherwise.

Error handlingnone
Return valuenone
See alsoVF_flush0,   VF_limit,   VF_absHuge,   VF_maxC

VectorLib Table of Contents  OptiVec home