Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/m9x/nan.c
          +++ new/usr/src/lib/libm/common/m9x/nan.c
↓ open down ↓ 30 lines elided ↑ open up ↑
  31   31  #pragma weak nan = __nan
  32   32  #endif
  33   33  
  34   34  /*
  35   35   *  nan(c) returns a NaN.  This implementation ignores c.
  36   36   */
  37   37  
  38   38  #include "libm.h"
  39   39  #include <sys/isa_defs.h>
  40   40  
  41      -#if defined(_BIG_ENDIAN)
       41 +#if defined(__sparc)
  42   42  
  43   43  static const union {
  44   44          unsigned i[2];
  45   45          double d;
  46   46  } __nan_union = { 0x7fffffff, 0xffffffff };
  47   47  
  48      -#else
       48 +#elif defined(__i386) || defined(__amd64)
  49   49  
  50   50  static const union {
  51   51          unsigned i[2];
  52   52          double d;
  53   53  } __nan_union = { 0xffffffff, 0x7fffffff };
  54   54  
       55 +#else
       56 +#error Unknown architecture
  55   57  #endif
  56   58  
  57   59  /* ARGSUSED0 */
  58   60  double
  59   61  __nan(const char *c) {
  60   62          return (__nan_union.d);
  61   63  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX