35#if !defined(_SPANDSP_BIQUAD_H_)
36#define _SPANDSP_BIQUAD_H_
49#if FIRST_ORDER_NOISE_SHAPING
51#elif SECOND_ORDER_NOISE_SHAPING
57#if defined(__cplusplus)
78#if FIRST_ORDER_NOISE_SHAPING
80#elif SECOND_ORDER_NOISE_SHAPING
92 z0 = sample*bq->gain + bq->z1*bq->a1 + bq->z2*bq->a2;
93 y = z0 + bq->z1*bq->b1 + bq->z2*bq->b2;
97#if FIRST_ORDER_NOISE_SHAPING
99 bq->residue = y & 0x7FFF;
100#elif SECOND_ORDER_NOISE_SHAPING
101 y += (2*bq->residue1 - bq->residue2);
102 bq->residue2 = bq->residue1;
103 bq->residue1 = y & 0x7FFF;
110#if defined(__cplusplus)