\" $NetBSD: nextafter.3,v 1.8 2019/05/02 15:08:35 mgorny Exp $
\"
\" Copyright (c) 2011 Jukka Ruohonen <
[email protected]>
\" All rights reserved.
\"
\" Redistribution and use in source and binary forms, with or without
\" modification, are permitted provided that the following conditions
\" are met:
\" 1. Redistributions of source code must retain the above copyright
\" notice, this list of conditions and the following disclaimer.
\" 2. Redistributions in binary form must reproduce the above copyright
\" notice, this list of conditions and the following disclaimer in the
\" documentation and/or other materials provided with the distribution.
\"
\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
\" POSSIBILITY OF SUCH DAMAGE.
\"
Dd September 13, 2015
Dt NEXTAFTER 3
Os
Sh NAME
Nm nextafter ,
Nm nextafterf ,
Nm nextafterl ,
Nm nexttoward ,
Nm nexttowardf ,
Nm nexttowardl
Nd next representable floating-point number
Sh LIBRARY
Lb libm
Sh SYNOPSIS
In math.h
Ft double
Fn nextafter "double x" "double y"
Ft float
Fn nextafterf "float x" "float y"
Ft long double
Fn nextafterl "long double x" "long double y"
Ft double
Fn nexttoward "double x" "long double y"
Ft float
Fn nexttowardf "float x" "long double y"
Ft long double
Fn nexttowardl "long double x" "long double y"
Sh DESCRIPTION
The
Fn nextafter ,
Fn nextafterf ,
and
Fn nextafterl
functions return the next machine representable number from
Fa x
in direction of
Fa y .
In other words, if
Fa y
is less than
Fa x ,
the functions return the largest representable floating-point number less than
Fa x .
When
Fa x
equals
Fa y ,
the value of
Fa y
is returned.
The three functions differ only in the type of the return value and
Fa x .
Pp
The
Fn nexttoward
and
Fn nexttowardf
functions are equivalent to the
Fn nextafter
family of functions with two exceptions:
Bl -enum -offset indent
It
The second parameter has a type
Vt long double .
It
The return value is
Fa y
converted to the type of the function, provided that
Fa x
equals
Fa y .
El
Pp
Fn nexttowardl
is equivalent to
Fn nextafterl .
Sh RETURN VALUES
Upon successful completion, the described functions return
the next representable floating-point value as described above.
If
Fa x
is finite but an overflow would occur,
a range error follows and the functions return
Dv \*(PmHUGE_VAL ,
Dv \*(PmHUGE_VALF ,
or
Dv \*(PmHUGE_VALL
with the same sign as
Fa x .
When either
Fa x
or
Fa y
is \*(Na, a \*(Na is returned.
When
Fa x
is not
Fa y
but the function value is subnormal, zero, or underflows,
a range error occurs, and either 0.0 or the correct function
value (if representable) is returned.
Sh SEE ALSO
Xr math 3
Sh STANDARDS
The described functions conform to
St -isoC-99 .