avr-fw-modules/core/src/smooth.c

30 lines
330 B
C
Executable File

#include <hwo/utils.h>
#include <stdlib.h>
#include <string.h>
float smooth(SMOOTHER *s,float input)
{
float a;
if (s)
{
s->sum += input;
a = s->sum * s->inv_n;
s->sum -= a;
return a;
};
return 0.0f;
};
void smoother_set(SMOOTHER *s,float sum,float n)
{
if (s)
{
s->sum = sum;
s->inv_n = 1.0f / n;
};
};