UKSI_TEST/Core/UKSI/foster_student.h

28 lines
1.1 KiB
C

#ifndef FOSTER_STUDENT_H
#define FOSTER_STUDENT_H
#include <stdint.h>
#include <stdbool.h>
/* Конфигурация */
#define FS_WINDOW_SIZE 10 /* Размер окна анализа */
/* Структура контекста */
typedef struct {
float window[FS_WINDOW_SIZE]; /* Буфер окна */
float t_current; /* Текущее значение t */
float t_critical; /* Критическое значение t */
float mse; /* MSE для нормализации */
uint8_t index; /* Индекс в буфере */
uint8_t count; /* Количество измерений */
uint8_t ready; /* Флаг готовности */
} FosterStudent;
/* Прототипы функций */
void foster_init(FosterStudent* fs, float t_critical);
void foster_set_mse(FosterStudent* fs, float mse);
void foster_add_sample(FosterStudent* fs, float value);
uint8_t foster_is_ready(FosterStudent* fs);
uint8_t foster_check(FosterStudent* fs);
#endif /* FOSTER_STUDENT_H */