fix16_t
return (fix16_t)FIX16_OVERFLOW;
fix16_t result = (fix16_t)((product_hi << 16) | (product_lo >> 16));
fix16_t result = (fix16_t)((product_hi << 16) | (product_lo >> 16));
static fix16_t fix16_div(fix16_t a, fix16_t b) {
return (fix16_t)FIX16_MINIMUM;
return (fix16_t)FIX16_OVERFLOW;
fix16_t result = (fix16_t)quotient;
return (fix16_t)FIX16_OVERFLOW;
static fix16_t fix16_sqrt(fix16_t x) {
return (fix16_t)result;
static fix16_t fix16_exp(fix16_t x) {
static const fix16_t exp_pos_values[NUM_EXP_VALUES] = {
static const fix16_t exp_neg_values[NUM_EXP_VALUES] = {
const fix16_t* exp_values;
fix16_t res, arg;
VocAlgorithmParams* params, fix16_t std_initial,
fix16_t tau_mean_variance_hours, fix16_t gating_max_duration_minutes);
fix16_t mean, fix16_t std,
fix16_t uptime_gamma);
static fix16_t
static fix16_t
VocAlgorithmParams* params, fix16_t voc_index_from_prior);
VocAlgorithmParams* params, fix16_t sraw, fix16_t voc_index_from_prior);
VocAlgorithmParams* params, fix16_t L, fix16_t X0, fix16_t K);
static fix16_t VocAlgorithm__mean_variance_estimator___sigmoid__process(
VocAlgorithmParams* params, fix16_t sample);
fix16_t SRAW_STD,
fix16_t SRAW_MEAN);
static fix16_t VocAlgorithm__mox_model__process(VocAlgorithmParams* params,
fix16_t sraw);
fix16_t offset);
static fix16_t VocAlgorithm__sigmoid_scaled__process(VocAlgorithmParams* params,
fix16_t sample);
static fix16_t
fix16_t sample);
VocAlgorithmParams* params, fix16_t std_initial,
fix16_t tau_mean_variance_hours, fix16_t gating_max_duration_minutes) {
fix16_t mean, fix16_t std,
fix16_t uptime_gamma) {
static fix16_t
static fix16_t
VocAlgorithmParams* params, fix16_t voc_index_from_prior) {
fix16_t uptime_limit;
fix16_t sigmoid_gamma_mean;
fix16_t gamma_mean;
fix16_t gating_threshold_mean;
fix16_t sigmoid_gating_mean;
fix16_t sigmoid_gamma_variance;
fix16_t gamma_variance;
static inline fix16_t fix16_from_int(int32_t a) {
fix16_t gating_threshold_variance;
fix16_t sigmoid_gating_variance;
static inline int32_t fix16_cast_to_int(fix16_t a) {
VocAlgorithmParams* params, fix16_t sraw, fix16_t voc_index_from_prior) {
fix16_t delta_sgp;
fix16_t c;
fix16_t additional_scaling;
static fix16_t fix16_mul(fix16_t inArg0, fix16_t inArg1);
static fix16_t fix16_div(fix16_t inArg0, fix16_t inArg1);
static fix16_t fix16_sqrt(fix16_t inValue);
VocAlgorithmParams* params, fix16_t L, fix16_t X0, fix16_t K) {
static fix16_t VocAlgorithm__mean_variance_estimator___sigmoid__process(
VocAlgorithmParams* params, fix16_t sample) {
fix16_t x;
static fix16_t fix16_exp(fix16_t inValue);
fix16_t SRAW_STD,
fix16_t SRAW_MEAN) {
static fix16_t VocAlgorithm__mox_model__process(VocAlgorithmParams* params,
fix16_t sraw) {
static fix16_t fix16_mul(fix16_t inArg0, fix16_t inArg1) {
fix16_t offset) {
static fix16_t VocAlgorithm__sigmoid_scaled__process(VocAlgorithmParams* params,
fix16_t sample) {
fix16_t x;
fix16_t shift;
static fix16_t
fix16_t sample) {
fix16_t abs_delta;
fix16_t F1;
fix16_t tau_a;
fix16_t a3;
fix16_t m_Mean_Variance_Estimator___Gamma_Initial_Mean;
fix16_t m_Mean_Variance_Estimator___Gamma_Initial_Variance;
fix16_t m_Mean_Variance_Estimator__Gamma_Mean;
fix16_t m_Mean_Variance_Estimator__Gamma_Variance;
fix16_t m_Mean_Variance_Estimator___Uptime_Gamma;
fix16_t m_Mean_Variance_Estimator___Uptime_Gating;
fix16_t m_Mean_Variance_Estimator___Gating_Duration_Minutes;
fix16_t m_Mean_Variance_Estimator___Sigmoid__L;
fix16_t m_Mean_Variance_Estimator___Sigmoid__K;
fix16_t m_Mean_Variance_Estimator___Sigmoid__X0;
fix16_t m_Mox_Model__Sraw_Std;
fix16_t m_Mox_Model__Sraw_Mean;
fix16_t m_Sigmoid_Scaled__Offset;
fix16_t m_Adaptive_Lowpass__A1;
fix16_t m_Adaptive_Lowpass__A2;
fix16_t m_Adaptive_Lowpass___X1;
fix16_t m_Adaptive_Lowpass___X2;
fix16_t m_Adaptive_Lowpass___X3;
((fix16_t)(((x) >= 0) ? ((x)*65536.0 + 0.5) : ((x)*65536.0 - 0.5)))
fix16_t mVoc_Index_Offset;
fix16_t mTau_Mean_Variance_Hours;
fix16_t mGating_Max_Duration_Minutes;
fix16_t mSraw_Std_Initial;
fix16_t mUptime;
fix16_t mSraw;
fix16_t mVoc_Index;
fix16_t m_Mean_Variance_Estimator__Gating_Max_Duration_Minutes;
fix16_t m_Mean_Variance_Estimator___Mean;
fix16_t m_Mean_Variance_Estimator___Sraw_Offset;
fix16_t m_Mean_Variance_Estimator___Std;
fix16_t m_Mean_Variance_Estimator___Gamma;