| 123456789101112131415161718192021222324252627 | /* 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 "math.h"#include "math_private.h"#include <errno.h>double fdim(double x, double y){  int cx = __fpclassify(x); /* need both NAN and INF */  int cy = __fpclassify(y); /* need both NAN and INF */  if (cx == FP_NAN || cy == NAN)    return x - y;  if (x <= y)	  return .0;  double z = x - y;  if (isinf(z) && cx != FP_INFINITE && cy != FP_INFINITE)	  __set_errno(ERANGE);  return z;}libm_hidden_def(fdim)
 |