void testInteractive() { FiSFlo sfl, sfl0; FiDFlo dfl, dfl0; FiSFlo sfrac; FiDFlo dfrac; BInt bi; while (1) { printf("\nEnter a single float: "); IgnoreResult(scanf(SFLO_SFMT, &sfl)); printf("\ntrunc(%.*g) = ", 9, sfl); bi = (BInt) fiSFloTruncate(sfl); bintPrint(osStdout, bi); sfrac = fiSFloFraction(sfl); printf("\nfrac = %g \n", sfrac); testSFloParts(sfl, bi, sfrac); sfl0 = fiSFloNext(sfl); printf("Next: %.*g (eq = %d)\n", 9, sfl0, sfl == sfl0); printf("\nEnter a double float: "); IgnoreResult(scanf("%lf", &dfl)); printf("\ntrunc(%.*g) = ", 50, dfl); bi = (BInt) fiDFloTruncate(dfl); bintPrint(osStdout, bi); dfrac = fiDFloFraction(dfl); printf("\nfrac = %g \n", dfrac); testDFloParts(dfl, bi, dfrac); dfl0 = fiDFloNext(dfl); printf("Next: %.*g (diff = %.*g)\n", 50, dfl0, 50, dfl0 - dfl); /* for (i = 0; i < sizeof(FiDFlo) */ } }
local Offset arFirstPosAIX4(Archive ar) { Offset pos; AR_SEEK(ar, AIX4FSTMOFF); IgnoreResult(fscanf(arFile(ar), "%20lu ", &pos)); return pos; }
void testRangeInteractive() { FiSFlo sf0, sf1; FiDFlo df0, df1; while (1) { printf("SFlo0= "); IgnoreResult(scanf(SFLO_SFMT, &sf0)); printf("SFlo1= "); IgnoreResult(scanf(SFLO_SFMT, &sf1)); testSFloInRange(&sf0, &sf1); printf("DFlo0= "); IgnoreResult(scanf("%lf", &df0)); printf("DFlo1= "); IgnoreResult(scanf("%lf", &df1)); testDFloInRange(&df0, &df1); } }