Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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.  
  7. #include "fdlibm.h"
  8.  
  9. #ifdef __STDC__
  10.         float fdimf(float x, float y)
  11. #else
  12.         float fdimf(x,y)
  13.         float x;
  14.         float y;
  15. #endif
  16. {
  17.   int c = __fpclassifyf(x);
  18.   if (c == FP_NAN)  return(x);
  19.   if (__fpclassifyf(y) == FP_NAN)  return(y);
  20.   if (c == FP_INFINITE)
  21.     return HUGE_VALF;
  22.  
  23.   return x > y ? x - y : 0.0;
  24. }
  25.  
  26. #ifdef _DOUBLE_IS_32BITS
  27.  
  28. #ifdef __STDC__
  29.         double fdim(double x, double y)
  30. #else
  31.         double fdim(x,y)
  32.         double x;
  33.         double y;
  34. #endif
  35. {
  36.   return (double) fdimf((float) x, (float) y);
  37. }
  38.  
  39. #endif /* defined(_DOUBLE_IS_32BITS) */
  40.