Cygwin: mmap: allow remapping part of an existing anonymous mapping
[newlib-cygwin.git] / newlib / libm / common / s_fmax.c
blobf6fa5fc6a655eb8a788aae47aa28ad6c7aa0d2a0
1 /* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.
3 * Permission to use, copy, modify, and distribute this software
4 * is freely granted, provided that this notice is preserved.
5 */
6 /*
7 FUNCTION
8 <<fmax>>, <<fmaxf>>---maximum
9 INDEX
10 fmax
11 INDEX
12 fmaxf
14 SYNOPSIS
15 #include <math.h>
16 double fmax(double <[x]>, double <[y]>);
17 float fmaxf(float <[x]>, float <[y]>);
19 DESCRIPTION
20 The <<fmax>> functions determine the maximum numeric value of their arguments.
21 NaN arguments are treated as missing data: if one argument is a NaN and the
22 other numeric, then the <<fmax>> functions choose the numeric value.
24 RETURNS
25 The <<fmax>> functions return the maximum numeric value of their arguments.
27 PORTABILITY
28 ANSI C, POSIX.
32 #include "fdlibm.h"
34 #ifndef _DOUBLE_IS_32BITS
36 #ifdef __STDC__
37 double fmax(double x, double y)
38 #else
39 double fmax(x,y)
40 double x;
41 double y;
42 #endif
44 if (__fpclassifyd(x) == FP_NAN)
45 return y;
46 if (__fpclassifyd(y) == FP_NAN)
47 return x;
49 return x > y ? x : y;
52 #endif /* _DOUBLE_IS_32BITS */