MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / xsum_small_display

Function xsum_small_display

xs/sources/xsum.c:2441–2473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2439/* DISPLAY A SMALL ACCUMULATOR. */
2440
2441void 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. */

Callers 3

xsum_small_roundFunction · 0.85
xsum_small_div_unsignedFunction · 0.85
xsum_large_displayFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected