1static const double internalEndianMagic = 7.949928895127363e-275;
2static const unsigned char ieee_754_mantissa_mask[] = { 0x00, 0x0F, 0xFF, 0xFF,
3    0xFF, 0xFF, 0xFF, 0xFF };
4static inline int
5trio_isnan (double number)
6{
7  int has_mantissa = 0;
8  unsigned int i;
9  unsigned char current;
10  for (i = 0; i < (unsigned int)sizeof(double); i++)
11    {
12      current = ((unsigned char *)&number)[(((unsigned char
13					      *)&internalEndianMagic)[7-(i)])];
14      has_mantissa |= (current & ieee_754_mantissa_mask[i]);
15    }
16  return has_mantissa;
17}
18void
19xmlXPathEqualNodeSetFloat(int nodeNr, double v)
20{
21  int i;
22  for (i=0; i<nodeNr; i++)
23    if (!trio_isnan(v))
24      break;
25}
26
27