|
|
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.