| 2439 | /* DISPLAY A SMALL ACCUMULATOR. */ |
| 2440 | |
| 2441 | void xsum_small_display (xsum_small_accumulator *restrict sacc) |
| 2442 | { |
| 2443 | int i, dots; |
| 2444 | c_printf("Small accumulator:"); |
| 2445 | if (sacc->Inf) |
| 2446 | { c_printf (" %cInf", sacc->Inf>0 ? '+' : '-'); |
| 2447 | if ((sacc->Inf & ((xsum_uint)XSUM_EXP_MASK << XSUM_MANTISSA_BITS)) |
| 2448 | != ((xsum_uint)XSUM_EXP_MASK << XSUM_MANTISSA_BITS)) |
| 2449 | { c_printf(" BUT WRONG CONTENTS: %llx", (long long) sacc->Inf); |
| 2450 | } |
| 2451 | } |
| 2452 | if (sacc->NaN) |
| 2453 | { c_printf (" NaN (%llx)", (long long) sacc->NaN); |
| 2454 | } |
| 2455 | c_printf("\n"); |
| 2456 | dots = 0; |
| 2457 | for (i = XSUM_SCHUNKS-1; i >= 0; i--) |
| 2458 | { if (sacc->chunk[i] == 0) |
| 2459 | { if (!dots) c_printf(" ...\n"); |
| 2460 | dots = 1; |
| 2461 | } |
| 2462 | else |
| 2463 | { c_printf ("%5d %5d ", i, (int) |
| 2464 | ((i<<XSUM_LOW_EXP_BITS) - XSUM_EXP_BIAS - XSUM_MANTISSA_BITS)); |
| 2465 | pbinary_int64 ((int64_t) sacc->chunk[i] >> 32, XSUM_SCHUNK_BITS-32); |
| 2466 | c_printf(" "); |
| 2467 | pbinary_int64 ((int64_t) sacc->chunk[i] & 0xffffffff, 32); |
| 2468 | c_printf ("\n"); |
| 2469 | dots = 0; |
| 2470 | } |
| 2471 | } |
| 2472 | c_printf("\n"); |
| 2473 | } |
| 2474 | |
| 2475 | |
| 2476 | /* RETURN NUMBER OF CHUNKS IN USE IN SMALL ACCUMULATOR. */ |
no outgoing calls
no test coverage detected