Developer Reference for Intel® oneAPI Math Kernel Library for C
v?InvSqrt
Computes an inverse square root of vector elements.
Syntax
vhInvSqrt( n, a, y );
vhInvSqrtI(n, a, inca, y, incy);
vmhInvSqrt( n, a, y, mode );
vmhInvSqrtI(n, a, inca, y, incy, mode);
vsInvSqrt( n, a, y );
vsInvSqrtI(n, a, inca, y, incy);
vmsInvSqrt( n, a, y, mode );
vmsInvSqrtI(n, a, inca, y, incy, mode);
vdInvSqrt( n, a, y );
vdInvSqrtI(n, a, inca, y, incy);
vmdInvSqrt( n, a, y, mode );
vmdInvSqrtI(n, a, inca, y, incy, mode);
Include Files
- mkl.h
 
Input Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
n  |  
      const MKL_INT  |  
      Specifies the number of elements to be calculated.  |  
     
a  |  
      const _Float16* for vhInvSqrt, vmhInvSqrt const float* for vsInvSqrt, vmsInvSqrt const double* for vdInvSqrt, vmdInvSqrt  |  
      Pointer to an array that contains the input vector a.  |  
     
inca, incy  |  
      const MKL_INT  |  
      Specifies increments for the elements of a and y.  |  
     
mode  |  
      const MKL_INT64  |  
      Overrides global VM mode setting for this function call. See vmlSetMode for possible values and their description.  |  
     
Output Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
y  |  
      _Float16* for vhInvSqrt, vmhInvSqrt float* for vsInvSqrt, vmsInvSqrt double* for vdInvSqrt, vmdInvSqrt  |  
      Pointer to an array that contains the output vector y.  |  
     
Description
The v?InvSqrt function computes an inverse square root of vector elements.
| Argument | Result | VM Error Status | Exception | 
|---|---|---|---|
| X < +0 | QNAN | VML_STATUS_ERRDOM | INVALID | 
| +0 | +∞ | VML_STATUS_SING | ZERODIVIDE | 
| -0 | -∞ | VML_STATUS_SING | ZERODIVIDE | 
| -∞ | QNAN | VML_STATUS_ERRDOM | INVALID | 
| +∞ | +0 | ||
| QNAN | QNAN | ||
| SNAN | QNAN | INVALID |