Compartir por


nextafter, nextafterf, nextafterl, _nextafter, _nextafterf, nexttoward, , nexttowardfnexttowardl

Devuelve el siguiente valor de punto flotante que se pueda representar.

Sintaxis

double nextafter( double x, double y );
float nextafterf( float x, float y );
long double nextafterl( long double x, long double y );

double _nextafter( double x, double y );
float _nextafterf( float x, float y ); /* x64 only */

#define nextafter(X, Y) // Requires C11 or higher

double nexttoward( double x, long double y );
float nexttowardf( float x, long double y );
long double nexttowardl( long double x, long double y );

#define nexttoward(X, Y) // Requires C11 or higher

float nextafter( float x, float y ); /* C++ only, requires <cmath> */
long double nextafter( long double x, long double y ); /* C++ only, requires <cmath> */

float nexttoward( float x, long double y ); /* C++ only, requires <cmath> */
long double nexttoward( long double x, long double y ); /* C++ only, requires <cmath> */

Parámetros

x
Valor de punto flotante del que se va a comenzar.

y
Valor de punto flotante al que se va.

Valor devuelto

Devuelve el siguiente valor de punto flotante representable del tipo de valor devuelto después de x en la dirección de y. Si x y y son iguales, la función devuelve y, convertido en el tipo de valor devuelto, sin ninguna excepción desencadenada. Si x no es igual a yy el resultado es un desnormal o cero, se establecen los FE_UNDERFLOW estados de excepción de punto flotante y FE_INEXACT se devuelve el resultado correcto. Si x o y es un NaN, el valor devuelto es uno de los NaN de entrada. Si x es finito y el resultado es infinito o no se puede representar en el tipo, se devuelve un valor infinito o NaN con el signo correcto, se establecen los estados de excepción de punto flotante FE_OVERFLOW y FE_INEXACT y errno se establece en ERANGE.

Comentarios

Las familias de las funciones nextafter y nexttoward son equivalentes, salvo por el tipo de parámetro de y. Si x y y son iguales, el valor devuelto es y convertido al tipo de valor devuelto.

Como C++ permite las sobrecargas, si incluye <cmath>, puede llamar a las sobrecargas de nextafter y nexttoward, que devuelven los tipos float y long double. En un programa de C, a menos que use la macro <tgmath.h> para llamar a esta función, nextafter y nexttoward siempre devuelven un valor double.

Si usa la nextafter macro o nexttoward de <tgmath.h>, el tipo del argumento determina qué versión de la función está seleccionada. Consulte Matemáticas de tipo genérico para obtener más información.

Las funciones _nextafter y _nextafterf son específicas de Microsoft. La función _nextafterf solo está disponible cuando se compila para x64.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Routine Encabezado necesario (C) Encabezado necesario (C++)
nextafter, nextafterf, nextafterl, _nextafterf, nexttoward, , nexttowardfnexttowardl <math.h> <math.h> o <cmath>
_nextafter <float.h> <float.h> o <cfloat>
Macro nextafter, macro nexttoward <tgmath.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Consulte también

Compatibilidad con cálculos matemáticos y el punto flotante
isnan, , _isnan, _isnanf