1e25ca43fSSascha Wildner.\" Copyright (c) 2003 David Schultz <das@FreeBSD.org> 2e25ca43fSSascha Wildner.\" All rights reserved. 3e25ca43fSSascha Wildner.\" 4e25ca43fSSascha Wildner.\" Redistribution and use in source and binary forms, with or without 5e25ca43fSSascha Wildner.\" modification, are permitted provided that the following conditions 6e25ca43fSSascha Wildner.\" are met: 7e25ca43fSSascha Wildner.\" 1. Redistributions of source code must retain the above copyright 8e25ca43fSSascha Wildner.\" notice, this list of conditions and the following disclaimer. 9e25ca43fSSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright 10e25ca43fSSascha Wildner.\" notice, this list of conditions and the following disclaimer in the 11e25ca43fSSascha Wildner.\" documentation and/or other materials provided with the distribution. 12e25ca43fSSascha Wildner.\" 13e25ca43fSSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14e25ca43fSSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15e25ca43fSSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16e25ca43fSSascha Wildner.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17e25ca43fSSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18e25ca43fSSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19e25ca43fSSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20e25ca43fSSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21e25ca43fSSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22e25ca43fSSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23e25ca43fSSascha Wildner.\" SUCH DAMAGE. 24e25ca43fSSascha Wildner.\" 25e25ca43fSSascha Wildner.\" $FreeBSD: src/lib/libc/gen/isgreater.3,v 1.5 2012/11/17 01:49:25 svnexp Exp $ 26e25ca43fSSascha Wildner.\" 27*96d766c0SSascha Wildner.Dd March 28, 2020 28e25ca43fSSascha Wildner.Dt ISGREATER 3 29e25ca43fSSascha Wildner.Os 30e25ca43fSSascha Wildner.Sh NAME 31e25ca43fSSascha Wildner.Nm isgreater , isgreaterequal , isless , islessequal , 32e25ca43fSSascha Wildner.Nm islessgreater , isunordered 33e25ca43fSSascha Wildner.Nd "compare two floating-point numbers" 34e25ca43fSSascha Wildner.Sh LIBRARY 35e25ca43fSSascha Wildner.Lb libc 36e25ca43fSSascha Wildner.Sh SYNOPSIS 37e25ca43fSSascha Wildner.In math.h 38e25ca43fSSascha Wildner.Ft int 39e25ca43fSSascha Wildner.Fn isgreater "real-floating x" "real-floating y" 40e25ca43fSSascha Wildner.Ft int 41e25ca43fSSascha Wildner.Fn isgreaterequal "real-floating x" "real-floating y" 42e25ca43fSSascha Wildner.Ft int 43e25ca43fSSascha Wildner.Fn isless "real-floating x" "real-floating y" 44e25ca43fSSascha Wildner.Ft int 45e25ca43fSSascha Wildner.Fn islessequal "real-floating x" "real-floating y" 46e25ca43fSSascha Wildner.Ft int 47e25ca43fSSascha Wildner.Fn islessgreater "real-floating x" "real-floating y" 48e25ca43fSSascha Wildner.Ft int 49e25ca43fSSascha Wildner.Fn isunordered "real-floating x" "real-floating y" 50e25ca43fSSascha Wildner.Sh DESCRIPTION 51e25ca43fSSascha WildnerEach of the macros 52e25ca43fSSascha Wildner.Fn isgreater , 53e25ca43fSSascha Wildner.Fn isgreaterequal , 54e25ca43fSSascha Wildner.Fn isless , 55e25ca43fSSascha Wildner.Fn islessequal , 56e25ca43fSSascha Wildnerand 57e25ca43fSSascha Wildner.Fn islessgreater 58e25ca43fSSascha Wildnertake arguments 59e25ca43fSSascha Wildner.Fa x 60e25ca43fSSascha Wildnerand 61e25ca43fSSascha Wildner.Fa y 62e25ca43fSSascha Wildnerand return a non-zero value if and only if its nominal 63e25ca43fSSascha Wildnerrelation on 64e25ca43fSSascha Wildner.Fa x 65e25ca43fSSascha Wildnerand 66e25ca43fSSascha Wildner.Fa y 67e25ca43fSSascha Wildneris true. 68e25ca43fSSascha WildnerThese macros always return zero if either 69e25ca43fSSascha Wildnerargument is not a number (NaN), but unlike the corresponding C 70e25ca43fSSascha Wildneroperators, they never raise a floating point exception. 71e25ca43fSSascha Wildner.Pp 72e25ca43fSSascha WildnerThe 73e25ca43fSSascha Wildner.Fn isunordered 74e25ca43fSSascha Wildnermacro takes arguments 75e25ca43fSSascha Wildner.Fa x 76e25ca43fSSascha Wildnerand 77e25ca43fSSascha Wildner.Fa y 78e25ca43fSSascha Wildnerand returns non-zero if and only if neither 79e25ca43fSSascha Wildner.Fa x 80e25ca43fSSascha Wildnernor 81e25ca43fSSascha Wildner.Fa y 82e25ca43fSSascha Wildnerare NaNs. 83e25ca43fSSascha WildnerFor any pair of floating-point values, one 84e25ca43fSSascha Wildnerof the relationships (less, greater, equal, unordered) holds. 85e25ca43fSSascha Wildner.Sh SEE ALSO 86e25ca43fSSascha Wildner.Xr fpclassify 3 , 87e25ca43fSSascha Wildner.Xr signbit 3 88e25ca43fSSascha Wildner.Sh STANDARDS 89e25ca43fSSascha WildnerThe 90e25ca43fSSascha Wildner.Fn isgreater , 91e25ca43fSSascha Wildner.Fn isgreaterequal , 92e25ca43fSSascha Wildner.Fn isless , 93e25ca43fSSascha Wildner.Fn islessequal , 94e25ca43fSSascha Wildner.Fn islessgreater , 95e25ca43fSSascha Wildnerand 96e25ca43fSSascha Wildner.Fn isunordered 97e25ca43fSSascha Wildnermacros conform to 98e25ca43fSSascha Wildner.St -isoC-99 . 99e25ca43fSSascha Wildner.Sh HISTORY 100e25ca43fSSascha WildnerThe relational macros described above first appeared in 101e25ca43fSSascha Wildner.Fx 5.1 . 102