1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
/* Copyright 2025-2026 Brad Lanam Pleasant Hill CA */
#ifndef INC_DIMATH_H
#define INC_DIMATH_H
#include "config.h"
#if _hdr_stddef
# include <stddef.h>
#endif
#if _hdr_stdint
# include <stdint.h>
#endif
#if _use_math == DI_MPDECIMAL
# include <mpdecimal.h>
#endif
#if _siz_uint64_t == 8
typedef uint64_t di_ui_t;
typedef int64_t di_si_t;
#elif _siz_long == 8
typedef unsigned long di_ui_t;
typedef long di_si_t;
#elif _siz_long_long == 8
typedef unsigned long long di_ui_t;
typedef long long di_si_t;
#elif _siz_long == 4
typedef unsigned long di_ui_t;
typedef long di_si_t;
#else
# error "unable to locate a valid type"
#endif
#define DI_PERC_PRECISION 1000000
#define DI_PERC_DIV ( (double) (DI_PERC_PRECISION / 100));
#define DI_SCALE_PREC 1000
#if defined (__cplusplus) || defined (c_plusplus)
extern "C" {
#endif
#if _use_math == DI_MPDECIMAL
extern mpd_context_t mpdctx;
#endif
extern int dimathinitialized;
void dimath_initialize (void);
void dimath_cleanup (void);
# if defined (__cplusplus) || defined (c_plusplus)
}
# endif
#endif /* INC_DIMATH_H */
|