Tcl Source Code

Check-in [444187f1e9]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:More complete typedef for mp_word, for MP_8BIT and MP_16BIT as well.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | digit-bit-60
Files: files | file ages | folders
SHA3-256:444187f1e91fa94f53d32d61cdf4c012e8ef677cf9571869ecab42b4567bde0b
User & Date: jan.nijtmans 2019-03-28 22:42:56
Context
2019-03-31
20:45
(temporary workaround): Mark expr-47.12 and expr-47.13 as nonPortable: Those are the test-cases fail... check-in: 7ff2a29530 user: jan.nijtmans tags: digit-bit-60
2019-03-28
22:42
More complete typedef for mp_word, for MP_8BIT and MP_16BIT as well. check-in: 444187f1e9 user: jan.nijtmans tags: digit-bit-60
21:44
Experiment: On platforms which support it (gcc), compiled libtommath with DIGIT_BIT=60 check-in: 739233ffd0 user: jan.nijtmans tags: digit-bit-60
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to libtommath/tommath_private.h.

45
46
47
48
49
50
51




52
53
54
55
56
57
58
59
60
61
62
63
#elif 0
/* prototypes for our heap functions */
extern void *XMALLOC(size_t n);
extern void *XREALLOC(void *p, size_t n);
extern void XFREE(void *p);
#endif





#if defined(MP_64BIT)
/* for GCC only on supported platforms */
typedef unsigned long        mp_word __attribute__((mode(TI)));
#elif _WIN32
typedef __int64              mp_word;
#else
typedef unsigned long long   mp_word;
#endif

/* you'll have to tune these... */
#define KARATSUBA_MUL_CUTOFF 80      /* Min. number of digits before Karatsuba multiplication is used. */
#define KARATSUBA_SQR_CUTOFF 120     /* Min. number of digits before Karatsuba squaring is used. */







>
>
>
>
|



|







45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#elif 0
/* prototypes for our heap functions */
extern void *XMALLOC(size_t n);
extern void *XREALLOC(void *p, size_t n);
extern void XFREE(void *p);
#endif

#if defined(MP_8BIT)
typedef unsigned short       mp_word;
#elif defined(MP_16BIT)
typedef unsigned int         mp_word;
#elif defined(MP_64BIT)
/* for GCC only on supported platforms */
typedef unsigned long        mp_word __attribute__((mode(TI)));
#elif _WIN32
typedef unsigned __int64     mp_word;
#else
typedef unsigned long long   mp_word;
#endif

/* you'll have to tune these... */
#define KARATSUBA_MUL_CUTOFF 80      /* Min. number of digits before Karatsuba multiplication is used. */
#define KARATSUBA_SQR_CUTOFF 120     /* Min. number of digits before Karatsuba squaring is used. */