nextafter
, nextafterf
, nextafterl
, _nextafter
, _nextafterf
, nexttoward
, , nexttowardf
nexttowardl
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 y
y 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 , , nexttowardf nexttowardl |
<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