1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/tests/bench/timers/print_results.h

64 lines
1.5 KiB
C

/*
* Copyright (C) 2018 Eistec AB
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup tests
* @{
*
* @file
* @brief Result printing function declarations
*
* @author Joakim Nohlgård <joakim.nohlgard@eistec.se>
*/
#ifndef PRINT_RESULTS_H
#define PRINT_RESULTS_H
#include "matstat.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Test limits */
typedef struct {
int32_t mean_low;
int32_t mean_high;
uint32_t variance_low;
uint32_t variance_high;
} stat_limits_t;
typedef struct {
const char *label;
const char **sub_labels;
unsigned num_sub_labels;
} result_group_t;
typedef struct {
const result_group_t *groups;
unsigned num_groups;
const stat_limits_t *ref_limits; /* Reference stats limits */
const stat_limits_t *int_limits; /* Introspective stats limits */
const unsigned *offsets; /* Pointer to array of input offsets, for correctly printing the detailed stats */
} result_presentation_t;
/**
* @brief Present the results of the benchmark
*
* Depends on DETAILED_STATS, LOG2_STATS
* @param[in] ref_states State vector from reference measurements
* @param[in] int_states State vector from introspective measurements
*/
void print_results(const result_presentation_t *pres, const matstat_state_t *ref_states, const matstat_state_t *int_states);
#ifdef __cplusplus
}
#endif
#endif /* PRINT_RESULTS_H */