|
|
1.1 root 1: #include "mprec.h"
2:
3:
4: /*
5: * Mzero and mone are pointers to mints with values zero and one
6: * respectively. They are used as convenient constants in various
7: * routines. Mminint and Mmaxint are pointers to mints with value
8: * the minimum and maximum integer which will fit into an int.
9: * They are used to check for overflow on conversion. Care should
10: * be taken that none of these mints is ever changed.
11: */
12: static char __mzero = 0;
13: static mint _mzero = {1, &__mzero};
14: mint *mzero = &_mzero;
15:
16: static char __mone = 1;
17: static mint _mone = {1, &__mone};
18: mint *mone = &_mone;
19:
20: #ifdef _I386
21: static char __mminint[] = { 0, 0, 0, 0, 0170, 0177};
22: static char __mmaxint[] = {0177, 0177, 0177, 0177, 7};
23: static mint _mminint = {6, __mminint};
24: static mint _mmaxint = {5, __mmaxint};
25: #else
26: static char __mminint[] = {0, 0, 0176, 0177}; /* min int (-32768) */
27: static char __mmaxint[] = {0177, 0177, 1}; /* max int (32767) */
28: static mint _mminint = {4, __mminint};
29: static mint _mmaxint = {3, __mmaxint};
30: #endif
31: mint *mminint = &_mminint;
32:
33: mint *mmaxint = &_mmaxint;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.