diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-08-30 12:37:50 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-08-30 12:37:50 (GMT) |
commit | 6d8b0c705f0d36540ea0d5624619a64a38986ec8 (patch) | |
tree | f100736555d31d972ada62b12b8a189ba9c2253e /generic/tclTomMath.h | |
parent | faaf0a0fe6d2b8b2e4c5358d6c6055df97ed00d4 (diff) | |
download | tcl-6d8b0c705f0d36540ea0d5624619a64a38986ec8.zip tcl-6d8b0c705f0d36540ea0d5624619a64a38986ec8.tar.gz tcl-6d8b0c705f0d36540ea0d5624619a64a38986ec8.tar.bz2 |
Tweak libtommath building, such that it doesn't depend on uint64_t any more. (handle mp_word in the same way as mp_digit)
Diffstat (limited to 'generic/tclTomMath.h')
-rw-r--r-- | generic/tclTomMath.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/generic/tclTomMath.h b/generic/tclTomMath.h index 87fe756..39132ed 100644 --- a/generic/tclTomMath.h +++ b/generic/tclTomMath.h @@ -46,7 +46,10 @@ extern "C" { typedef uint8_t mp_digit; #define MP_DIGIT_DECLARED #endif +#ifndef MP_WORD_DECLARED typedef uint16_t mp_word; +#define MP_WORD_DECLARED +#endif #define MP_SIZEOF_MP_DIGIT 1 #ifdef DIGIT_BIT #error You must not define DIGIT_BIT when using MP_8BIT @@ -56,7 +59,10 @@ extern "C" { typedef uint16_t mp_digit; #define MP_DIGIT_DECLARED #endif +#ifndef MP_WORD_DECLARED typedef uint32_t mp_word; +#define MP_WORD_DECLARED +#endif #define MP_SIZEOF_MP_DIGIT 2 #ifdef DIGIT_BIT #error You must not define DIGIT_BIT when using MP_16BIT @@ -68,13 +74,19 @@ extern "C" { #define MP_DIGIT_DECLARED #endif #if defined(_WIN32) +#ifndef MP_WORD_DECLARED typedef unsigned __int128 mp_word; +#define MP_WORD_DECLARED +#endif #elif defined(__GNUC__) typedef unsigned long mp_word __attribute__ ((mode(TI))); #else /* it seems you have a problem * but we assume you can somewhere define your own uint128_t */ +#ifndef MP_WORD_DECLARED typedef uint128_t mp_word; +#define MP_WORD_DECLARED +#endif #endif #define DIGIT_BIT 60 @@ -86,7 +98,10 @@ extern "C" { typedef uint32_t mp_digit; #define MP_DIGIT_DECLARED #endif +#ifndef MP_WORD_DECLARED typedef uint64_t mp_word; +#define MP_WORD_DECLARED +#endif #ifdef MP_31BIT /* this is an extension that uses 31-bit digits */ |