Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 10/31/2024
Public
Document Table of Contents

v?NextAfter

Returns vector of elements containing the next representable floating-point values following the values from the elements of one vector in the direction of the corresponding elements of another vector.

Syntax

vhNextAfter (n, a, b, y);

vhNextAfterI(n, a, inca, b, incb, y, incy);

vmhNextAfter (n, a, b, y, mode);

vmhNextAfterI(n, a, inca, b, incb, y, incy, mode);

vsNextAfter (n, a, b, y);

vsNextAfterI(n, a, inca, b, incb, y, incy);

vmsNextAfter (n, a, b, y, mode);

vmsNextAfterI(n, a, inca, b, incb, y, incy, mode);

vdNextAfter (n, a, b, y);

vdNextAfterI(n, a, inca, b, incb, y, incy);

vmdNextAfter (n, a, b, y, mode);

vmdNextAfterI(n, a, inca, b, incb, 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, b

const _Float16* for vhNextAfter

const float* for vsNextAfter

const _Float16* for vmhNextAfter

const float* for vmsNextAfter

const double* for vdNextAfter

const double* for vmdNextAfter

Pointers to the arrays containing the input vectors a and b.

inca, incb, incy

const MKL_INT

Specifies increments for the elements of a, b, and y.

mode

const MKL_INT64

Overrides the global VM mode setting for this function call. See vmlSetMode for possible values and their description.

Output Parameters

Name

Type

Description

y

_Float16* for vhNextAfter

float* for vsNextAfter

_Float16* for vmhNextAfter

float* for vmsNextAfter

double* for vdNextAfter

double* for vmdNextAfter

Pointer to an array containing the output vector y.

Description

The v?NextAfter function returns a vector containing the next representable floating-point values following the first vector argument elements in the direction of the second vector argument's corresponding elements.

Special cases:

Overflow

The function raises overflow and inexact floating-point exceptions and sets VML_STATUS_OVERFLOW if an input vector argument element is finite and the corresponding result vector element value is infinite.

Underflow

The function raises underflow and inexact floating-point exceptions and sets VML_STATUS_UNDERFLOW if a result vector element value is subnormal or zero, and different from the corresponding input vector argument element.

Even though underflow or overflow can occur, the returned value is independent of the current rounding direction mode.