/* double-precision floating-point traits */

#define Scalar double                      /* floating-point type */
#define Int int64                          /* corresponding signed integer type */
#define UInt uint64                        /* corresponding unsigned integer type */
#define EBITS 11                           /* number of exponent bits */
#define PBITS 6                            /* number of bits needed to encode precision */
#define NBMASK UINT64C(0xaaaaaaaaaaaaaaaa) /* negabinary mask */
#define TCMASK UINT64C(0x7fffffffffffffff) /* two's complement mask */
#define SCALAR_MIN DBL_MIN                 /* smallest positive normal number */

#define FABS(x) fabs(x)
#define FREXP(x, e) frexp(x, e)
#define LDEXP(x, e) ldexp(x, e)
