Developer Reference for Intel® oneAPI Math Kernel Library for C
v?Logb
Computes the exponents of the elements of input vector a .
Syntax
vhLogb ( n , a , y );
vhLogbI(n, a, inca, y, incy);
vmhLogb ( n , a , y , mode );
vmhLogbI(n, a, inca, y, incy, mode);
vsLogb ( n , a , y );
vsLogbI(n, a, inca, y, incy);
vmsLogb ( n , a , y , mode );
vmsLogbI(n, a, inca, y, incy, mode);
vdLogb ( n , a , y );
vdLogbI(n, a, inca, y, incy);
vmdLogb ( n , a , y , mode );
vmdLogbI(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 vhLogb const float* for vsLogb const _Float16* for vmhLogb const float* for vmsLogb const double* for vdLogb const double* for vmdLogb |
Pointer to the array containing the input vector a . |
inca , incy |
const MKL_INT |
Specifies increments for the elements of a and y . |
mode |
const MKL_INT64 |
Overrides the global VM mode setting for this function call. See vmlSetMode (Sets a new mode for VM functions according to the mode parameter and stores the previous VM mode to oldmode.) for possible values and their description. |
Output Parameters
Name |
Type |
Description |
|---|---|---|
y |
_Float16* for vhLogb float* for vsLogb _Float16* for vmhLogb float* for vmsLogb double* for vdLogb double* for vmdLogb |
Pointer to an array containing the output vector y . |
Description
The v?Logb function computes the exponents of the elements of the input vector a . For each element ai of vector a , this is the integral part of log 2 | ai | . The returned value is exact and is independent of the current rounding direction mode.
See Special Value Notations for the conventions used in this table:
Special values for Real Function v?Logb(x)
Argument |
Result |
VM Error Status |
Exception |
|---|---|---|---|
+0 |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
-0 |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
|
|
||
|
|
||
QNAN |
QNAN |
||
SNAN |
QNAN |
INVALID |