source: trunk/libs/newlib/src/newlib/libm/common/s_fmax.c @ 450

Last change on this file since 450 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.0 KB
Line 
1/* Copyright (C) 2002 by  Red Hat, Incorporated. All rights reserved.
2 *
3 * Permission to use, copy, modify, and distribute this software
4 * is freely granted, provided that this notice is preserved.
5 */
6/*
7FUNCTION
8<<fmax>>, <<fmaxf>>---maximum
9INDEX
10        fmax
11INDEX
12        fmaxf
13
14SYNOPSIS
15        #include <math.h>
16        double fmax(double <[x]>, double <[y]>);
17        float fmaxf(float <[x]>, float <[y]>);
18
19DESCRIPTION
20The <<fmax>> functions determine the maximum numeric value of their arguments.
21NaN arguments are treated as missing data:  if one argument is a NaN and the
22other numeric, then the <<fmax>> functions choose the numeric value.
23
24RETURNS
25The <<fmax>> functions return the maximum numeric value of their arguments.
26
27PORTABILITY
28ANSI C, POSIX.
29
30*/
31
32#include "fdlibm.h"
33
34#ifndef _DOUBLE_IS_32BITS
35
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
43{
44  if (__fpclassifyd(x) == FP_NAN)
45    return y;
46  if (__fpclassifyd(y) == FP_NAN)
47    return x;
48 
49  return x > y ? x : y;
50}
51
52#endif /* _DOUBLE_IS_32BITS */
Note: See TracBrowser for help on using the repository browser.