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

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

    /* width = 2*2*SD/Middle*100 = 4*0.81650/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 c = { .k = 3, .std_mult = 2.0 };
    return ts_test(ts_bollinger_width, ts_bollinger_width_offset, inp, exp, sizeof( x ) / sizeof( *x ), (ts_constant_t *)&c, &ts_bollinger_width_p);
}