summaryrefslogtreecommitdiffstats
path: root/test/band_width.c
blob: 99dd4bfbb16865f5c715a454fa85bcc45ddf8758 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <math.h>
#include <stddef.h>
#include "ts.h"

bool ts_test_band_width( void )
{
    fp_t const x[] = { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
    fp_t const * const inp[1] = { x };

    /* k=3, mult=2.0 */
    /* SD = sqrt(2/3) = 0.81650 for all windows */
    /* Width = (Upper - Lower) / Middle * 100 = (4*SD) / Middle * 100 */
    fp_t const e[] = { 29.690785, 27.216553, 25.122972, 23.328474, 21.773242, 20.412415, 19.211684, 18.144368 };
    fp_t const * const exp[1] = { e };

    typedef struct { uint_t k; fp_t std_mult; } c_t;
    c_t my_c = { .k = 3, .std_mult = 2.0 };
    return ts_test(ts_band_width, ts_band_width_offset, inp, exp, sizeof( x ) / sizeof( *x ), (ts_constant_t *)&my_c, &ts_band_width_p);
}