source: trunk/libs/newlib/src/newlib/libm/common/s_fmin.c @ 503

Last change on this file since 503 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<<fmin>>, <<fminf>>---minimum
9INDEX
10        fmin
11INDEX
12        fminf
13
14SYNOPSIS
15        #include <math.h>
16        double fmin(double <[x]>, double <[y]>);
17        float fminf(float <[x]>, float <[y]>);
18
19DESCRIPTION
20The <<fmin>> functions determine the minimum numeric value of their arguments.
21NaN arguments are treated as missing data:  if one argument is a NaN and the
22other numeric, then the <<fmin>> functions choose the numeric value.
23
24RETURNS
25The <<fmin>> functions return the minimum 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 fmin(double x, double y)
38#else
39        double fmin(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.