b 266 src/decNumber/decNumber.c # define decFinish(a,b,c,d) decFinalize(a,b,c,d) b 741 src/decNumber/decNumber.c Unit a, b; // extract units b 744 src/decNumber/decNumber.c if (ub>msub) b=0; b 745 src/decNumber/decNumber.c else b=*ub; b 747 src/decNumber/decNumber.c if (a|b) { // maybe 1 bits to examine b 752 src/decNumber/decNumber.c if (a&b&1) *uc=*uc+(Unit)powers[i]; // effect AND b 755 src/decNumber/decNumber.c j|=b%10; b 756 src/decNumber/decNumber.c b=b/10; b 854 src/decNumber/decNumber.c decNumber *a, *b; // temporary pointers b 873 src/decNumber/decNumber.c b=bufb; b 880 src/decNumber/decNumber.c b=allocbufb; // use the allocated space b 882 src/decNumber/decNumber.c decNumberCopy(b, rhs); // copy content b 883 src/decNumber/decNumber.c b->bits&=~DECNEG; // .. and clear the sign b 884 src/decNumber/decNumber.c rhs=b; // use copy from here on b 1288 src/decNumber/decNumber.c decNumber *b=bufb; // temporary b b 1382 src/decNumber/decNumber.c b=allocbufb; // use the allocated space b 1393 src/decNumber/decNumber.c decLnOp(b, w, &aset, &ignore); // b=ln(10) b 1396 src/decNumber/decNumber.c decDivideOp(res, a, b, &aset, DIVIDE, &status); // into result b 1698 src/decNumber/decNumber.c Unit a, b; // extract units b 1701 src/decNumber/decNumber.c if (ub>msub) b=0; b 1702 src/decNumber/decNumber.c else b=*ub; b 1704 src/decNumber/decNumber.c if (a|b) { // maybe 1 bits to examine b 1708 src/decNumber/decNumber.c if ((a|b)&1) *uc=*uc+(Unit)powers[i]; // effect OR b 1711 src/decNumber/decNumber.c j|=b%10; b 1712 src/decNumber/decNumber.c b=b/10; b 2671 src/decNumber/decNumber.c decNumber *b=bufb; // intermediate result b 2749 src/decNumber/decNumber.c b=allocbufb; // .. b 2818 src/decNumber/decNumber.c decDivideOp(b, f, a, &workset, DIVIDE, &ignore); // b=f/a b 2819 src/decNumber/decNumber.c decAddOp(b, b, a, &workset, 0, &ignore); // b=b+a b 2820 src/decNumber/decNumber.c decMultiplyOp(a, b, t, &workset, &ignore); // a=b*0.5 b 2856 src/decNumber/decNumber.c decAddOp(b, a, t, &workset, DECNEG, &ignore); // b = a - 0.5 ulp b 2858 src/decNumber/decNumber.c decMultiplyOp(b, b, b, &workset, &ignore); // b = mulru(b, b) b 2859 src/decNumber/decNumber.c decCompareOp(b, f, b, &workset, COMPARE, &ignore); // b ? f, reversed b 2860 src/decNumber/decNumber.c if (decNumberIsNegative(b)) { // f < b [i.e., b > f] b 2871 src/decNumber/decNumber.c decAddOp(b, a, t, &workset, 0, &ignore); // b = a + 0.5 ulp b 2873 src/decNumber/decNumber.c decMultiplyOp(b, b, b, &workset, &ignore); // b = mulrd(b, b) b 2874 src/decNumber/decNumber.c decCompareOp(b, b, f, &workset, COMPARE, &ignore); // b ? f b 2875 src/decNumber/decNumber.c if (decNumberIsNegative(b)) { // b < f b 2893 src/decNumber/decNumber.c decNumberCopy(b, a); b 2894 src/decNumber/decNumber.c decTrim(b, set, 1, 1, &dropped); // [drops trailing zeros] b 2900 src/decNumber/decNumber.c if (b->digits*2-1 > workp) { // cannot fit b 2905 src/decNumber/decNumber.c decMultiplyOp(b, b, b, &workset, &mstatus); // try the multiply b 2910 src/decNumber/decNumber.c decCompareOp(t, b, rhs, &workset, COMPARE, &mstatus); // b ? rhs b 3081 src/decNumber/decNumber.c Unit a, b; // extract units b 3084 src/decNumber/decNumber.c if (ub>msub) b=0; b 3085 src/decNumber/decNumber.c else b=*ub; b 3087 src/decNumber/decNumber.c if (a|b) { // maybe 1 bits to examine b 3091 src/decNumber/decNumber.c if ((a^b)&1) *uc=*uc+(Unit)powers[i]; // effect XOR b 3094 src/decNumber/decNumber.c j|=b%10; b 3095 src/decNumber/decNumber.c b=b/10; b 5338 src/decNumber/decNumber.c decNumber *b=bufb; // adjustment/work b 5414 src/decNumber/decNumber.c b=allocbufb; // use the allocated space b 5429 src/decNumber/decNumber.c decNumberFromInt32(b, 2302585); // b=ln(10) (2.302585) b 5430 src/decNumber/decNumber.c b->exponent=-6; // .. b 5431 src/decNumber/decNumber.c decMultiplyOp(a, a, b, &aset, &ignore); // a=a*b b 5436 src/decNumber/decNumber.c decCopyFit(b, rhs, &aset, &residue, &ignore); // copy & shorten b 5437 src/decNumber/decNumber.c b->exponent=0; // make integer b 5438 src/decNumber/decNumber.c t=decGetInt(b); // [cannot fail] b 5446 src/decNumber/decNumber.c decNumberFromInt32(b, t>>2); // b=ln(b) coefficient b 5447 src/decNumber/decNumber.c b->exponent=-(t&3)-3; // set exponent b 5448 src/decNumber/decNumber.c b->bits=DECNEG; // ln(0.10)->ln(0.99) always -ve b 5450 src/decNumber/decNumber.c decAddOp(a, a, b, &aset, 0, &ignore); // acc=a+b b 5485 src/decNumber/decNumber.c decExpOp(b, a, &bset, &ignore); // b=exp(-a) b 5488 src/decNumber/decNumber.c decMultiplyOp(b, b, rhs, &bset, &ignore); // b=b*rhs b 5489 src/decNumber/decNumber.c decAddOp(b, b, &numone, &bset, DECNEG, &ignore); // b=b-1 b 5499 src/decNumber/decNumber.c if (decNumberIsZero(b) || b 5500 src/decNumber/decNumber.c (a->digits+a->exponent)>=(b->digits+b->exponent+set->digits+1)) { b 5509 src/decNumber/decNumber.c if (decNumberIsZero(b)) b->exponent=a->exponent-p; b 5513 src/decNumber/decNumber.c decAddOp(a, a, b, &aset, 0, &ignore); // a=a+b for next estimate b 5958 src/decNumber/decNumber.c const Unit *b, Int blength, Int exp) { b 5971 src/decNumber/decNumber.c r=b+alength-1; b 6000 src/decNumber/decNumber.c accunits=decUnitAddSub(a, alength, b, blength, expunits, acc, b 6062 src/decNumber/decNumber.c const Unit *b, Int blength, Int bshift, b 6101 src/decNumber/decNumber.c carry+=((eInt)*b)*m; // [special-casing m=1/-1 b 6102 src/decNumber/decNumber.c b++; // here is not a win] b 6185 src/decNumber/decNumber.c carry+=((eInt)*b)*m; b 6186 src/decNumber/decNumber.c b++; b 183 src/decNumber/decNumberLocal.h # define UBTOUS(b) (memcpy((void *)&uswork, b, 2), uswork) b 184 src/decNumber/decNumberLocal.h # define UBTOUI(b) (memcpy((void *)&uiwork, b, 4), uiwork) b 187 src/decNumber/decNumberLocal.h # define UBFROMUS(b, i) (uswork=(i), memcpy(b, (void *)&uswork, 2)) b 188 src/decNumber/decNumberLocal.h # define UBFROMUI(b, i) (uiwork=(i), memcpy(b, (void *)&uiwork, 4)) b 277 src/dps8/dps8.h # define max(a,b) max2((a),(b)) b 279 src/dps8/dps8.h # define max2(a,b) ((a) > (b) ? (a) : (b)) b 280 src/dps8/dps8.h # define max3(a,b,c) max((a), max((b),(c))) b 283 src/dps8/dps8.h # define min(a,b) min2((a),(b)) b 285 src/dps8/dps8.h # define min2(a,b) ((a) < (b) ? (a) : (b)) b 286 src/dps8/dps8.h # define min3(a,b,c) min((a), min((b),(c))) b 375 src/dps8/dps8_absi.c for (int b = 0; b < 16; b ++) b 376 src/dps8/dps8_absi.c fprintf (stderr, "%c", pkt[i] & (1 << (16 - b)) ? '1' : '0'); b 1956 src/dps8/dps8_cpu.h static inline void SET_PR_BITNO (uint n, word6 b) b 1958 src/dps8/dps8_cpu.h cpu.PAR[n].PR_BITNO = b; b 1959 src/dps8/dps8_cpu.h cpu.PAR[n].AR_BITNO = (b % 9) & MASK4; b 1960 src/dps8/dps8_cpu.h cpu.PAR[n].AR_CHAR = (b / 9) & MASK2; b 1962 src/dps8/dps8_cpu.h static inline void SET_AR_CHAR_BITNO (uint n, word2 c, word4 b) b 1964 src/dps8/dps8_cpu.h cpu.PAR[n].PR_BITNO = c * 9 + b; b 1965 src/dps8/dps8_cpu.h cpu.PAR[n].AR_BITNO = b & MASK4; b 8824 src/dps8/dps8_eis.c bool b = getbits36_1 (p->data, (uint) bitPosn) != 0; b 8828 src/dps8/dps8_eis.c return b; b 191 src/dps8/dps8_hw_consts.h # define SETHI36(a,b) (((a) &= MASKLO18), ((a) |= ((((word36)(b) & MASKLO18) << 18)))) b 192 src/dps8/dps8_hw_consts.h # define SETLO36(a,b) (((a) &= MASKHI18), ((a) |= ((word36)(b) & MASKLO18))) b 195 src/dps8/dps8_hw_consts.h # define SETHI(a,b) SETHI36((a),(b)) b 196 src/dps8/dps8_hw_consts.h # define SETLO(a,b) SETLO36((a),(b)) b 200 src/dps8/dps8_hw_consts.h # define SETHI72(a,b) ((a) &= MASK36, (a) |= ((((word72)(b) & MASK36)) << 36)) b 201 src/dps8/dps8_hw_consts.h # define SETLO72(a,b) ((a) &= MASK36 << 36, (a) |= ((word72)(b) & MASK36)) b 64 src/dps8/dps8_math.c # define ISEQ_128(a,b) iseq_128 (a, b) b 67 src/dps8/dps8_math.c # define ISEQ_128(a,b) ((a) == (b)) b 52 src/dps8/dps8_math128.c bool iseq_128 (uint128 a, uint128 b) b 54 src/dps8/dps8_math128.c return a.h == b.h && a.l == b.l; b 57 src/dps8/dps8_math128.c bool isgt_128 (uint128 a, uint128 b) b 59 src/dps8/dps8_math128.c if (a.h > b.h) return true; b 60 src/dps8/dps8_math128.c if (a.h < b.h) return false; b 61 src/dps8/dps8_math128.c if (a.l > b.l) return true; b 65 src/dps8/dps8_math128.c bool islt_128 (uint128 a, uint128 b) b 67 src/dps8/dps8_math128.c if (a.h < b.h) return true; b 68 src/dps8/dps8_math128.c if (a.h > b.h) return false; b 69 src/dps8/dps8_math128.c if (a.l < b.l) return true; b 73 src/dps8/dps8_math128.c bool isge_128 (uint128 a, uint128 b) b 75 src/dps8/dps8_math128.c if (a.h > b.h) return true; b 76 src/dps8/dps8_math128.c if (a.h < b.h) return false; b 77 src/dps8/dps8_math128.c if (a.l >= b.l) return true; b 81 src/dps8/dps8_math128.c bool islt_s128 (int128 a, int128 b) b 83 src/dps8/dps8_math128.c if (a.h < b.h) return true; b 84 src/dps8/dps8_math128.c if (a.h > b.h) return false; b 85 src/dps8/dps8_math128.c if (a.l < b.l) return true; b 89 src/dps8/dps8_math128.c bool isgt_s128 (int128 a, int128 b) b 91 src/dps8/dps8_math128.c if (a.h > b.h) return true; b 92 src/dps8/dps8_math128.c if (a.h < b.h) return false; b 93 src/dps8/dps8_math128.c if (a.l > b.l) return true; b 97 src/dps8/dps8_math128.c uint128 and_128 (uint128 a, uint128 b) b 99 src/dps8/dps8_math128.c return (uint128) {a.h & b.h, a.l & b.l}; b 102 src/dps8/dps8_math128.c int128 and_s128 (int128 a, uint128 b) b 104 src/dps8/dps8_math128.c return (int128) {a.h & (int64_t)b.h, a.l & b.l}; b 107 src/dps8/dps8_math128.c uint128 or_128 (uint128 a, uint128 b) b 109 src/dps8/dps8_math128.c return (uint128) {a.h | b.h, a.l | b.l}; b 112 src/dps8/dps8_math128.c uint128 xor_128 (uint128 a, uint128 b) b 114 src/dps8/dps8_math128.c return (uint128) {a.h ^ b.h, a.l ^ b.l}; b 122 src/dps8/dps8_math128.c uint128 add_128 (uint128 a, uint128 b) b 129 src/dps8/dps8_math128.c uint64_t bl63 = b.l & MASK63; // low 63 bits of b b 135 src/dps8/dps8_math128.c unsigned int bl64 = (b.l >> 63) & 1; // bit 64 of b b 141 src/dps8/dps8_math128.c uint64_t h64 = a.h + b.h + c64; // compute the high b 145 src/dps8/dps8_math128.c uint128 subtract_128 (uint128 a, uint128 b) b 149 src/dps8/dps8_math128.c bool borrow = !! (b.l > a.l); b 150 src/dps8/dps8_math128.c uint128 res = construct_128 (a.h - b.h, a.l - b.l); b 258 src/dps8/dps8_math128.c uint64_t b = (h & 1) ? SIGN64 : 0; b 263 src/dps8/dps8_math128.c l |= b; b 315 src/dps8/dps8_math128.c int b = 0; // Initialize borrow. b 318 src/dps8/dps8_math128.c int t = (int) w[j + m] - (int) v[j] - b; b 320 src/dps8/dps8_math128.c b = (t & 0x40000000) ? 1 : 0; b 325 src/dps8/dps8_math128.c int b = 0; b 328 src/dps8/dps8_math128.c int t = (int) w[i + n] - (int) u[i] - b; b 330 src/dps8/dps8_math128.c b = (t & 0x40000000) ? 1 : 0; b 385 src/dps8/dps8_math128.c const uint32_t b = 65536; // Number base (16 bits). b 401 src/dps8/dps8_math128.c q[j] = (uint16_t) (((unsigned int) k*b + u[j])/v[0]); // divisor here. b 402 src/dps8/dps8_math128.c k = (int) (((unsigned int) k*b + u[j]) - q[j]*v[0]); b 429 src/dps8/dps8_math128.c qhat = (un[j+n]*b + un[j+n-1])/vn[n-1]; b 430 src/dps8/dps8_math128.c rhat = (un[j+n]*b + un[j+n-1])%vn[n-1]; b 432 src/dps8/dps8_math128.c if (qhat >= b || (unsigned)qhat*(unsigned long long)vn[n-2] > b*rhat + un[j+n-2]) b 436 src/dps8/dps8_math128.c if (rhat < b) goto cmp_again; b 475 src/dps8/dps8_math128.c uint128 multiply_128 (uint128 a, uint128 b) b 485 src/dps8/dps8_math128.c v[3] = (uint32_t) (b.h >> 32); b 486 src/dps8/dps8_math128.c v[2] = (uint32_t) b.h; b 487 src/dps8/dps8_math128.c v[1] = (uint32_t) (b.l >> 32); b 488 src/dps8/dps8_math128.c v[0] = (uint32_t) b.l; b 495 src/dps8/dps8_math128.c int128 multiply_s128 (int128 a, int128 b) b 505 src/dps8/dps8_math128.c v[3] = (uint32_t) (b.h >> 32); b 506 src/dps8/dps8_math128.c v[2] = (uint32_t) b.h; b 507 src/dps8/dps8_math128.c v[1] = (uint32_t) (b.l >> 32); b 508 src/dps8/dps8_math128.c v[0] = (uint32_t) b.l; b 516 src/dps8/dps8_math128.c uint128 divide_128 (uint128 a, uint128 b, uint128 * remp) b 530 src/dps8/dps8_math128.c v[0] = (uint16_t) b.l; b 531 src/dps8/dps8_math128.c v[1] = (uint16_t) (b.l >> 16); b 532 src/dps8/dps8_math128.c v[2] = (uint16_t) (b.l >> 32); b 533 src/dps8/dps8_math128.c v[3] = (uint16_t) (b.l >> 48); b 534 src/dps8/dps8_math128.c v[4] = (uint16_t) b.h; b 535 src/dps8/dps8_math128.c v[5] = (uint16_t) (b.h >> 16); b 536 src/dps8/dps8_math128.c v[6] = (uint16_t) (b.h >> 32); b 537 src/dps8/dps8_math128.c v[7] = (uint16_t) (b.h >> 48); b 571 src/dps8/dps8_math128.c uint128 divide_128_16 (uint128 a, uint16_t b, uint16_t * remp) b 585 src/dps8/dps8_math128.c v[0] = (uint16_t) b; b 607 src/dps8/dps8_math128.c uint128 divide_128_32 (uint128 a, uint32_t b, uint32_t * remp) b 621 src/dps8/dps8_math128.c v[0] = (uint16_t) b; b 622 src/dps8/dps8_math128.c v[1] = (uint16_t) (b >> 16); b 659 src/dps8/dps8_math128.c uint128 b = construct_128 (bh, bl); b 660 src/dps8/dps8_math128.c uint128 r = and_128 (a, b); b 675 src/dps8/dps8_math128.c uint128 b = construct_128 (bh, bl); b 676 src/dps8/dps8_math128.c uint128 r = or_128 (a, b); b 706 src/dps8/dps8_math128.c uint128 b = construct_128 (bh, bl); b 707 src/dps8/dps8_math128.c uint128 r = add_128 (a, b); b 722 src/dps8/dps8_math128.c uint128 b = construct_128 (bh, bl); b 723 src/dps8/dps8_math128.c uint128 r = subtract_128 (a, b); b 753 src/dps8/dps8_math128.c uint128 b = construct_128 (bh, bl); b 755 src/dps8/dps8_math128.c bool r = isgt_128 (a, b); b 799 src/dps8/dps8_math128.c uint128 b = construct_128 (bh, bl); b 800 src/dps8/dps8_math128.c uint128 r = multiply_128 (a, b); b 815 src/dps8/dps8_math128.c int128 b = construct_s128 (bh, bl); b 816 src/dps8/dps8_math128.c int128 r = multiply_s128 (a, b); b 827 src/dps8/dps8_math128.c static void tdiv16 (uint64_t ah, uint64_t al, uint16_t b, b 833 src/dps8/dps8_math128.c uint128 res = divide_128_16 (a, b, & rem); b 838 src/dps8/dps8_math128.c (unsigned long long)ah, (unsigned long long)al, b, b 844 src/dps8/dps8_math128.c static void tdiv32 (uint64_t ah, uint64_t al, uint32_t b, b 850 src/dps8/dps8_math128.c uint128 res = divide_128_32 (a, b, & rem); b 855 src/dps8/dps8_math128.c (unsigned long long)ah, (unsigned long long)al, b, b 32 src/dps8/dps8_math128.h bool iseq_128 (uint128 a, uint128 b); b 33 src/dps8/dps8_math128.h bool isgt_128 (uint128 a, uint128 b); b 34 src/dps8/dps8_math128.h bool islt_128 (uint128 a, uint128 b); b 35 src/dps8/dps8_math128.h bool isge_128 (uint128 a, uint128 b); b 36 src/dps8/dps8_math128.h bool islt_s128 (int128 a, int128 b); b 37 src/dps8/dps8_math128.h bool isgt_s128 (int128 a, int128 b); b 38 src/dps8/dps8_math128.h uint128 and_128 (uint128 a, uint128 b); b 39 src/dps8/dps8_math128.h int128 and_s128 (int128 a, uint128 b); b 40 src/dps8/dps8_math128.h uint128 or_128 (uint128 a, uint128 b); b 41 src/dps8/dps8_math128.h uint128 xor_128 (uint128 a, uint128 b); b 42 src/dps8/dps8_math128.h uint128 add_128 (uint128 a, uint128 b); b 43 src/dps8/dps8_math128.h uint128 subtract_128 (uint128 a, uint128 b); b 44 src/dps8/dps8_math128.h uint128 multiply_128 (uint128 a, uint128 b); b 45 src/dps8/dps8_math128.h int128 multiply_s128 (int128 a, int128 b); b 46 src/dps8/dps8_math128.h uint128 divide_128_16 (uint128 a, uint16_t b, uint16_t * rem); b 47 src/dps8/dps8_math128.h uint128 divide_128_32 (uint128 a, uint32_t b, uint32_t * rem); b 48 src/dps8/dps8_math128.h uint128 divide_128 (uint128 a, uint128 b, uint128 * rem); b 378 src/dps8/dps8_prt.c static word9 gc (word36 * b, uint os) b 382 src/dps8/dps8_prt.c return (word9) getbits36_9 (b[wordno], charno * 9); b 394 src/dps8/dps8_prt.c static int parseID (word36 * b, uint tally, char * qno, char * name) b 398 src/dps8/dps8_prt.c if (gc (b, 0) != 040) b 400 src/dps8/dps8_prt.c if (gc (b, 1) != 040) b 405 src/dps8/dps8_prt.c word9 ch = gc (b, 2 + i); b 411 src/dps8/dps8_prt.c if (gc (b, 7) != 037) b 417 src/dps8/dps8_prt.c word9 ch = gc (b, 9 + i); b 44 src/dps8/dps8_socket_dev.c # define bzero(b,len) (memset((b), '\0', (len)), (void) 0) b 3669 src/dps8/dps8_sys.c static int dbgevent_compar (const void * a, const void * b) b 3672 src/dps8/dps8_sys.c struct dbgevent_t * eb = (struct dbgevent_t *) b; b 681 src/dps8/udplib.c for (int b = 0; b < 16; b ++) b 682 src/dps8/udplib.c fprintf (stderr, "%c", pkt [i] & (1 << b) ? '1' : '0'); b 459 src/dps8/uthash.h # define HASH_JEN_MIX(a,b,c) \ b 461 src/dps8/uthash.h a -= b; a -= c; a ^= ( c >> 13 ); \ b 462 src/dps8/uthash.h b -= c; b -= a; b ^= ( a << 8 ); \ b 463 src/dps8/uthash.h c -= a; c -= b; c ^= ( b >> 13 ); \ b 464 src/dps8/uthash.h a -= b; a -= c; a ^= ( c >> 12 ); \ b 465 src/dps8/uthash.h b -= c; b -= a; b ^= ( a << 16 ); \ b 466 src/dps8/uthash.h c -= a; c -= b; c ^= ( b >> 5 ); \ b 467 src/dps8/uthash.h a -= b; a -= c; a ^= ( c >> 3 ); \ b 468 src/dps8/uthash.h b -= c; b -= a; b ^= ( a << 10 ); \ b 469 src/dps8/uthash.h c -= a; c -= b; c ^= ( b >> 15 ); \ b 660 src/dps8/uthash.h # define HASH_KEYCMP(a,b,len) memcmp(a,b,len) b 104 src/dps8/utlist.h # define _CASTASGN(a,b) { char **_alias = (char**)&(a); *_alias=(char*)(b); } b 112 src/dps8/utlist.h # define _CASTASGN(a,b) (a)=(b) b 594 src/simh/linehistory.c char *b; b 601 src/simh/linehistory.c ab->b = NULL; b 613 src/simh/linehistory.c char *new = realloc(ab->b, 1 + ab->len + len); b 621 src/simh/linehistory.c ab->b = new; b 628 src/simh/linehistory.c free(ab->b); b 749 src/simh/linehistory.c if (write(fd, ab.b, ab.len) == -1) b 872 src/simh/linehistory.c if (write(fd, ab.b, ab.len) == -1) b 120 src/simh/scp.c # define MAX(a,b) (((a) >= (b)) ? (a) : (b)) b 2016 src/simh/scp.c CTAB * const *b = (CTAB * const *)pb; b 2018 src/simh/scp.c return strcmp((*a)->name, (*b)->name); b 43 src/simh/sim_fio.h # define fxread(a,b,c,d) sim_fread (a, b, c, d) b 44 src/simh/sim_fio.h # define fxwrite(a,b,c,d) sim_fwrite (a, b, c, d) b 60 src/simh/sim_timer.c # define MIN(a,b) (((a) < (b)) ? (a) : (b)) b 63 src/simh/sim_timer.c # define MAX(a,b) (((a) > (b)) ? (a) : (b))