Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
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

call vsnextafter (n, a, b, y)

call vsnextafteri(n, a, inca, b, incb, y, incy)

call vmsnextafter (n, a, b, y, mode)

call vmsnextafteri(n, a, inca, b, incb, y, incy, mode)

call vdnextafter (n, a, b, y)

call vdnextafteri(n, a, inca, b, incb, y, incy)

call vmdnextafter (n, a, b, y, mode)

call vmdnextafteri(n, a, inca, b, incb, y, incy, mode)

Include Files

  • mkl_vml.f90

Input Parameters

Name

Type

Description

n

INTEGER

Specifies the number of elements to be calculated.

a, b

REAL for vsnextafter

REAL for vmsnextafter

DOUBLE PRECISION for vdnextafter

DOUBLE PRECISION for vmdnextafter

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

inca, incb, incy

INTEGER, INTENT(IN)

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

mode

INTEGER (KIND=8)

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

Output Parameters

Name

Type

Description

y

REAL for vsnextafter

REAL for vmsnextafter

DOUBLE PRECISION for vdnextafter

DOUBLE PRECISION for vmdnextafterjjssd

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.