static void test_fmt_s32_dec(void) { char out[8] = "--------"; int32_t val = 9876; uint8_t chars = 0; chars = fmt_s32_dec(out, val); TEST_ASSERT_EQUAL_INT(4, chars); out[chars] = '\0'; TEST_ASSERT_EQUAL_STRING("9876", (char *) out); val = -9876; chars = fmt_s32_dec(out, val); TEST_ASSERT_EQUAL_INT(5, chars); out[chars] = '\0'; TEST_ASSERT_EQUAL_STRING("-9876", (char *) out); }
static void print_statistics(const matstat_state_t *state, const stat_limits_t *limits) { if (state->count == 0) { print_str("no samples\n"); return; } if (state->count == 1) { print_str("single sample: "); print_s32_dec((int32_t)state->sum); print("\n", 1); return; } int32_t mean = matstat_mean(state); uint64_t variance = matstat_variance(state); char buf[20]; print(buf, fmt_lpad(buf, fmt_u32_dec(buf, state->count), 8, ' ')); print(" ", 1); print(buf, fmt_lpad(buf, fmt_s64_dec(buf, state->sum), 9, ' ')); print(" ", 1); print(buf, fmt_lpad(buf, fmt_u64_dec(buf, state->sum_sq), 12, ' ')); print(" ", 1); print(buf, fmt_lpad(buf, fmt_s32_dec(buf, state->min), 6, ' ')); print(" ", 1); print(buf, fmt_lpad(buf, fmt_s32_dec(buf, state->max), 5, ' ')); print(" ", 1); print(buf, fmt_lpad(buf, fmt_s32_dec(buf, mean), 5, ' ')); print(" ", 1); print(buf, fmt_lpad(buf, fmt_u64_dec(buf, variance), 6, ' ')); if (limits) { if ((mean < limits->mean_low) || (limits->mean_high < mean) || (variance < limits->variance_low) || (limits->variance_high < variance) ) { /* mean or variance is outside the expected range, alert the user */ print_str(" <=== SIC!"); } } print("\n", 1); }