kolibrios/contrib/sdk/sources/newlib/math/sf_fdim.c
Sergey Semyonov (Serge) 754f9336f0 upload sdk
git-svn-id: svn://kolibrios.org@4349 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-15 08:09:20 +00:00

40 lines
731 B
C

/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.
*
* Permission to use, copy, modify, and distribute this software
* is freely granted, provided that this notice is preserved.
*/
#include "fdlibm.h"
#ifdef __STDC__
float fdimf(float x, float y)
#else
float fdimf(x,y)
float x;
float y;
#endif
{
int c = __fpclassifyf(x);
if (c == FP_NAN) return(x);
if (__fpclassifyf(y) == FP_NAN) return(y);
if (c == FP_INFINITE)
return HUGE_VALF;
return x > y ? x - y : 0.0;
}
#ifdef _DOUBLE_IS_32BITS
#ifdef __STDC__
double fdim(double x, double y)
#else
double fdim(x,y)
double x;
double y;
#endif
{
return (double) fdimf((float) x, (float) y);
}
#endif /* defined(_DOUBLE_IS_32BITS) */