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
|
/* bignum implementation for little-endian (LSB-first) 6-byte integers.
Only constants and the bignum/bugnump data types need
be defined here. See bignum.h for API. */
#define bignum(x) char x[6]
#define bignump char *
/****** constants ******/
/* zero */
#define BIG_0 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
/* bank interest rate is 0.5%, or .005, or 1/200 */
#define BIG_200 { 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00 }
/* bignum 100, used for score calculations in final_stats() */
#define BIG_100 { 0x64, 0x00, 0x00, 0x00, 0x00, 0x00 }
/* one thousand, one million, one billion, one trillion
used by cprintfancy_big() */
#define BIG_1K { 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00 }
#define BIG_1M { 0x40, 0x42, 0x0f, 0x00, 0x00, 0x00 }
#define BIG_1B { 0x00, 0xca, 0x9a, 0x3b, 0x00, 0x00 }
#define BIG_1T { 0x00, 0x10, 0xa5, 0xd4, 0xe8, 0x00 }
/* max value for a ulong, 2**32-1 */
#define BIG_MAX_ULONG { 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 }
|