#if !defined(DECIMAL128)
#define DECIMAL128
#define DEC128NAME "decimal128"
#define DEC128FULLNAME "Decimal 128-bit Number"
#define DEC128AUTHOR "Mike Cowlishaw"
#define DECIMAL128_Bytes 16
#define DECIMAL128_Pmax 34
#define DECIMAL128_Emax 6144
#define DECIMAL128_Emin -6143
#define DECIMAL128_Bias 6176
#define DECIMAL128_String 43
#define DECIMAL128_EconL 12
#define DECIMAL128_Ehigh (DECIMAL128_Emax+DECIMAL128_Bias-DECIMAL128_Pmax+1)
#if defined(DECNUMDIGITS)
#if (DECNUMDIGITS<DECIMAL128_Pmax)
#error decimal128.h needs pre-defined DECNUMDIGITS>=34 for safe use
#endif
#endif
#ifndef DECNUMDIGITS
#define DECNUMDIGITS DECIMAL128_Pmax
#endif
#ifndef DECNUMBER
#include "decNumber.h"
#endif
typedef struct {
uint8_t bytes[DECIMAL128_Bytes];
} decimal128;
#if !defined(DECIMAL_NaN)
#define DECIMAL_NaN 0x7c
#define DECIMAL_sNaN 0x7e
#define DECIMAL_Inf 0x78
#endif
decimal128 * decimal128FromString(decimal128 *, const char *, decContext *);
char * decimal128ToString(const decimal128 *, char *);
char * decimal128ToEngString(const decimal128 *, char *);
decimal128 * decimal128FromNumber(decimal128 *, const decNumber *,
decContext *);
decNumber * decimal128ToNumber(const decimal128 *, decNumber *);
uint32_t decimal128IsCanonical(const decimal128 *);
decimal128 * decimal128Canonical(decimal128 *, const decimal128 *);
#endif