enforcing combined parameter limits also in *reset_state
This commit is contained in:
parent
7b53b045a9
commit
eef7f35dc5
@ -29,6 +29,9 @@
|
||||
* <ul>
|
||||
* <li>Version <strong>1.1.1</strong>:
|
||||
* <ul>
|
||||
* <li>Enforced limits on cutoff and high_gain also in
|
||||
* <code>bw_hs1_reset_state*()</code> and clarified
|
||||
* documentation.</li>
|
||||
* <li>Added debugging checks from <code>bw_hs1_process()</code> to
|
||||
* <code>bw_hs1_process_multi()</code>.</li>
|
||||
* <li>Added debugging checks in <code>bw_hs1_process_multi()</code> to
|
||||
@ -226,10 +229,9 @@ static inline void bw_hs1_set_cutoff(
|
||||
*
|
||||
* `value` must be finite and positive.
|
||||
*
|
||||
* By the time `bw_hs1_reset_coeffs()`, `bw_hs1_update_coeffs_ctrl()`,
|
||||
* `bw_hs1_update_coeffs_audio()`, `bw_hs1_process1()`, `bw_hs1_process()`,
|
||||
* or `bw_hs1_process_multi()` is called, `cutoff * bw_sqrtf(high_gain)` must
|
||||
* be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_hs1_reset_\*()`, `bw_hs1_update_coeffs_\*()`, or
|
||||
* `bw_hs1_process\*()` is called, `cutoff * bw_sqrtf(high_gain)` must be in
|
||||
* [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1e3f`.
|
||||
*
|
||||
@ -270,10 +272,9 @@ static inline void bw_hs1_set_high_gain_lin(
|
||||
*
|
||||
* Valid range: [`1e-30f`, `1e30f`].
|
||||
*
|
||||
* By the time `bw_hs1_reset_coeffs()`, `bw_hs1_update_coeffs_ctrl()`,
|
||||
* `bw_hs1_update_coeffs_audio()`, `bw_hs1_process1()`, `bw_hs1_process()`,
|
||||
* or `bw_hs1_process_multi()` is called, `cutoff * bw_sqrtf(high_gain)` must
|
||||
* be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_hs1_reset_\*()`, `bw_hs1_update_coeffs_\*()`, or
|
||||
* `bw_hs1_process\*()` is called, `cutoff * bw_sqrtf(high_gain)` must be in
|
||||
* [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1.f`.
|
||||
*
|
||||
@ -288,10 +289,9 @@ static inline void bw_hs1_set_high_gain_dB(
|
||||
*
|
||||
* Valid range: [`-600.f`, `600.f`].
|
||||
*
|
||||
* By the time `bw_hs1_reset_coeffs()`, `bw_hs1_update_coeffs_ctrl()`,
|
||||
* `bw_hs1_update_coeffs_audio()`, `bw_hs1_process1()`, `bw_hs1_process()`,
|
||||
* or `bw_hs1_process_multi()` is called, `cutoff * bw_sqrtf(high_gain)` must
|
||||
* be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_hs1_reset_\*()`, `bw_hs1_update_coeffs_\*()`, or
|
||||
* `bw_hs1_process\*()` is called, `cutoff * bw_sqrtf(high_gain)` must be in
|
||||
* [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `0.f`.
|
||||
*
|
||||
@ -453,6 +453,7 @@ static inline float bw_hs1_reset_state(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_hs1_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_hs1_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_sqrtf(coeffs->high_gain) >= 1e-6f && coeffs->cutoff * bw_sqrtf(coeffs->high_gain) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
BW_ASSERT(bw_is_finite(x_0));
|
||||
|
||||
@ -479,6 +480,7 @@ static inline void bw_hs1_reset_state_multi(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_hs1_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_hs1_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_sqrtf(coeffs->high_gain) >= 1e-6f && coeffs->cutoff * bw_sqrtf(coeffs->high_gain) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
#ifndef BW_NO_DEBUG
|
||||
for (size_t i = 0; i < n_channels; i++)
|
||||
|
@ -29,6 +29,9 @@
|
||||
* <ul>
|
||||
* <li>Version <strong>1.1.1</strong>:
|
||||
* <ul>
|
||||
* <li>Enforced limits on cutoff and high_gain also in
|
||||
* <code>bw_hs2_reset_state*()</code> and clarified
|
||||
* documentation.</li>
|
||||
* <li>Added debugging checks from <code>bw_hs2_process()</code> to
|
||||
* <code>bw_hs2_process_multi()</code>.</li>
|
||||
* <li>Added debugging checks in <code>bw_hs2_process_multi()</code> to
|
||||
@ -230,10 +233,9 @@ static inline void bw_hs2_set_cutoff(
|
||||
*
|
||||
* `value` must be finite and positive.
|
||||
*
|
||||
* By the time `bw_hs2_reset_coeffs()`, `bw_hs2_update_coeffs_ctrl()`,
|
||||
* `bw_hs2_update_coeffs_audio()`, `bw_hs2_process1()`, `bw_hs2_process()`,
|
||||
* or `bw_hs2_process_multi()` is called,
|
||||
* `cutoff * bw_sqrtf(bw_sqrtf(high_gain))` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_hs2_reset_\*()`, `bw_hs2_update_coeffs_\*()`, or
|
||||
* `bw_hs2_process\*()` is called, `cutoff * bw_sqrtf(bw_sqrtf(high_gain))`
|
||||
* must be in [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1e3f`.
|
||||
*
|
||||
@ -286,10 +288,9 @@ static inline void bw_hs2_set_high_gain_lin(
|
||||
*
|
||||
* Valid range: [`1e-30f`, `1e30f`].
|
||||
*
|
||||
* By the time `bw_hs2_reset_coeffs()`, `bw_hs2_update_coeffs_ctrl()`,
|
||||
* `bw_hs2_update_coeffs_audio()`, `bw_hs2_process1()`, `bw_hs2_process()`,
|
||||
* or `bw_hs2_process_multi()` is called,
|
||||
* `cutoff * bw_sqrtf(bw_sqrtf(high_gain))` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_hs2_reset_\*()`, `bw_hs2_update_coeffs_\*()`, or
|
||||
* `bw_hs2_process\*()` is called, `cutoff * bw_sqrtf(bw_sqrtf(high_gain))`
|
||||
* must be in [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1.f`.
|
||||
*
|
||||
@ -304,10 +305,9 @@ static inline void bw_hs2_set_high_gain_dB(
|
||||
*
|
||||
* Valid range: [`-600.f`, `600.f`].
|
||||
*
|
||||
* By the time `bw_hs2_reset_coeffs()`, `bw_hs2_update_coeffs_ctrl()`,
|
||||
* `bw_hs2_update_coeffs_audio()`, `bw_hs2_process1()`, `bw_hs2_process()`,
|
||||
* or `bw_hs2_process_multi()` is called,
|
||||
* `cutoff * bw_sqrtf(bw_sqrtf(high_gain))` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_hs2_reset_\*()`, `bw_hs2_update_coeffs_\*()`, or
|
||||
* `bw_hs2_process\*()` is called, `cutoff * bw_sqrtf(bw_sqrtf(high_gain))`
|
||||
* must be in [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `0.f`.
|
||||
*
|
||||
@ -481,6 +481,7 @@ static inline float bw_hs2_reset_state(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_hs2_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_hs2_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_sqrtf(bw_sqrtf(coeffs->high_gain)) >= 1e-6f && coeffs->cutoff * bw_sqrtf(bw_sqrtf(coeffs->high_gain)) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
BW_ASSERT(bw_is_finite(x_0));
|
||||
|
||||
@ -507,6 +508,7 @@ static inline void bw_hs2_reset_state_multi(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_hs2_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_hs2_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_sqrtf(bw_sqrtf(coeffs->high_gain)) >= 1e-6f && coeffs->cutoff * bw_sqrtf(bw_sqrtf(coeffs->high_gain)) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
#ifndef BW_NO_DEBUG
|
||||
for (size_t i = 0; i < n_channels; i++)
|
||||
|
@ -30,6 +30,9 @@
|
||||
* <ul>
|
||||
* <li>Version <strong>1.1.1</strong>:
|
||||
* <ul>
|
||||
* <li>Enforced limits on cutoff and dc_gain also in
|
||||
* <code>bw_ls1_reset_state*()</code> and clarified
|
||||
* documentation.</li>
|
||||
* <li>Added debugging checks from <code>bw_ls1_process()</code> to
|
||||
* <code>bw_ls1_process_multi()</code>.</li>
|
||||
* <li>Added debugging checks in <code>bw_ls1_process_multi()</code> to
|
||||
@ -227,10 +230,9 @@ static inline void bw_ls1_set_cutoff(
|
||||
*
|
||||
* `value` must be finite and positive.
|
||||
*
|
||||
* By the time `bw_ls1_reset_coeffs()`, `bw_ls1_update_coeffs_ctrl()`,
|
||||
* `bw_ls1_update_coeffs_audio()`, `bw_ls1_process1()`, `bw_ls1_process()`,
|
||||
* or `bw_ls1_process_multi()` is called,
|
||||
* `cutoff * bw_rcpf(bw_sqrtf(dc_gain))` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_ls1_reset_\*()`, `bw_ls1_update_coeffs_\*()`, or
|
||||
* `bw_ls1_process\*()` is called, `cutoff * bw_rcpf(bw_sqrtf(dc_gain))`
|
||||
* must be in [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1e3f`.
|
||||
*
|
||||
@ -270,10 +272,9 @@ static inline void bw_ls1_set_dc_gain_lin(
|
||||
*
|
||||
* Valid range: [`1e-30f`, `1e30f`].
|
||||
*
|
||||
* By the time `bw_ls1_reset_coeffs()`, `bw_ls1_update_coeffs_ctrl()`,
|
||||
* `bw_ls1_update_coeffs_audio()`, `bw_ls1_process1()`, `bw_ls1_process()`,
|
||||
* or `bw_ls1_process_multi()` is called,
|
||||
* `cutoff * bw_rcpf(bw_sqrtf(dc_gain))` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_ls1_reset_\*()`, `bw_ls1_update_coeffs_\*()`, or
|
||||
* `bw_ls1_process\*()` is called, `cutoff * bw_rcpf(bw_sqrtf(dc_gain))`
|
||||
* must be in [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1.f`.
|
||||
*
|
||||
@ -287,10 +288,9 @@ static inline void bw_ls1_set_dc_gain_dB(
|
||||
*
|
||||
* Valid range: [`-600.f`, `600.f`].
|
||||
*
|
||||
* By the time `bw_ls1_reset_coeffs()`, `bw_ls1_update_coeffs_ctrl()`,
|
||||
* `bw_ls1_update_coeffs_audio()`, `bw_ls1_process1()`, `bw_ls1_process()`,
|
||||
* or `bw_ls1_process_multi()` is called,
|
||||
* `cutoff * bw_rcpf(bw_sqrtf(dc_gain))` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_ls1_reset_\*()`, `bw_ls1_update_coeffs_\*()`, or
|
||||
* `bw_ls1_process\*()` is called, `cutoff * bw_rcpf(bw_sqrtf(dc_gain))`
|
||||
* must be in [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `0.f`.
|
||||
*
|
||||
@ -451,6 +451,7 @@ static inline float bw_ls1_reset_state(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_ls1_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_ls1_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_rcpf(bw_sqrtf(coeffs->dc_gain)) >= 1e-6f && coeffs->cutoff * bw_rcpf(bw_sqrtf(coeffs->dc_gain)) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
BW_ASSERT(bw_is_finite(x_0));
|
||||
|
||||
@ -477,6 +478,7 @@ static inline void bw_ls1_reset_state_multi(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_ls1_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_ls1_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_rcpf(bw_sqrtf(coeffs->dc_gain)) >= 1e-6f && coeffs->cutoff * bw_rcpf(bw_sqrtf(coeffs->dc_gain)) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
#ifndef BW_NO_DEBUG
|
||||
for (size_t i = 0; i < n_channels; i++)
|
||||
|
@ -30,6 +30,9 @@
|
||||
* <ul>
|
||||
* <li>Version <strong>1.1.1</strong>:
|
||||
* <ul>
|
||||
* <li>Enforced limits on cutoff and dc_gain also in
|
||||
* <code>bw_ls2_reset_state*()</code> and clarified
|
||||
* documentation.</li>
|
||||
* <li>Added debugging checks from <code>bw_ls2_process()</code> to
|
||||
* <code>bw_ls2_process_multi()</code>.</li>
|
||||
* <li>Added debugging checks in <code>bw_ls2_process_multi()</code> to
|
||||
@ -235,9 +238,8 @@ static inline void bw_ls2_set_cutoff(
|
||||
*
|
||||
* `value` must be finite and positive.
|
||||
*
|
||||
* By the time `bw_ls2_reset_coeffs()`, `bw_ls2_update_coeffs_ctrl()`,
|
||||
* `bw_ls2_update_coeffs_audio()`, `bw_ls2_process1()`, `bw_ls2_process()`,
|
||||
* or `bw_ls2_process_multi()` is called,
|
||||
* By the time `bw_ls2_reset_\*()`, `bw_ls2_update_coeffs_\*()`, or
|
||||
* `bw_ls2_process\*()` is called,
|
||||
* `cutoff * bw_rcpf(bw_sqrtf(bw_sqrtf(dc_gain)))` must be in [`1e-6f`,
|
||||
* `1e12f`].
|
||||
*
|
||||
@ -291,9 +293,8 @@ static inline void bw_ls2_set_dc_gain_lin(
|
||||
*
|
||||
* Valid range: [`1e-30f`, `1e30f`].
|
||||
*
|
||||
* By the time `bw_ls2_reset_coeffs()`, `bw_ls2_update_coeffs_ctrl()`,
|
||||
* `bw_ls2_update_coeffs_audio()`, `bw_ls2_process1()`, `bw_ls2_process()`,
|
||||
* or `bw_ls2_process_multi()` is called,
|
||||
* By the time `bw_ls2_reset_\*()`, `bw_ls2_update_coeffs_\*()`, or
|
||||
* `bw_ls2_process\*()` is called,
|
||||
* `cutoff * bw_rcpf(bw_sqrtf(bw_sqrtf(dc_gain)))` must be in [`1e-6f`,
|
||||
* `1e12f`].
|
||||
*
|
||||
@ -309,9 +310,8 @@ static inline void bw_ls2_set_dc_gain_dB(
|
||||
*
|
||||
* Valid range: [`-600.f`, `600.f`].
|
||||
*
|
||||
* By the time `bw_ls2_reset_coeffs()`, `bw_ls2_update_coeffs_ctrl()`,
|
||||
* `bw_ls2_update_coeffs_audio()`, `bw_ls2_process1()`, `bw_ls2_process()`,
|
||||
* or `bw_ls2_process_multi()` is called,
|
||||
* By the time `bw_ls2_reset_\*()`, `bw_ls2_update_coeffs_\*()`, or
|
||||
* `bw_ls2_process\*()` is called,
|
||||
* `cutoff * bw_rcpf(bw_sqrtf(bw_sqrtf(dc_gain)))` must be in [`1e-6f`,
|
||||
* `1e12f`].
|
||||
*
|
||||
@ -487,6 +487,7 @@ static inline float bw_ls2_reset_state(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_ls2_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_ls2_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_rcpf(bw_sqrtf(bw_sqrtf(coeffs->dc_gain))) >= 1e-6f && coeffs->cutoff * bw_rcpf(bw_sqrtf(bw_sqrtf(coeffs->dc_gain))) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
BW_ASSERT(bw_is_finite(x_0));
|
||||
|
||||
@ -513,6 +514,7 @@ static inline void bw_ls2_reset_state_multi(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_ls2_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_ls2_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->cutoff * bw_rcpf(bw_sqrtf(bw_sqrtf(coeffs->dc_gain))) >= 1e-6f && coeffs->cutoff * bw_rcpf(bw_sqrtf(bw_sqrtf(coeffs->dc_gain))) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
#ifndef BW_NO_DEBUG
|
||||
for (size_t i = 0; i < n_channels; i++)
|
||||
|
@ -37,6 +37,9 @@
|
||||
* <ul>
|
||||
* <li>Version <strong>1.1.1</strong>:
|
||||
* <ul>
|
||||
* <li>Enforced limits on bandwidth and peak_gain also in
|
||||
* <code>bw_peak_reset_state*()</code> and clarified
|
||||
* documentation.</li>
|
||||
* <li>Added debugging checks from <code>bw_peak_process()</code> to
|
||||
* <code>bw_peak_process_multi()</code>.</li>
|
||||
* <li>Added debugging checks in <code>bw_peak_process_multi()</code>
|
||||
@ -290,9 +293,8 @@ static inline void bw_peak_set_peak_gain_lin(
|
||||
* Valid range: [`1e-30f`, `1e30f`].
|
||||
*
|
||||
* If actually using the bandwidth parameter to control Q, by the time
|
||||
* `bw_peak_reset_coeffs()`, `bw_peak_update_coeffs_ctrl()`,
|
||||
* `bw_peak_update_coeffs_audio()`, `bw_peak_process1()`,
|
||||
* `bw_peak_process()`, or `bw_peak_process_multi()` is called,
|
||||
* `bw_peak_reset_\*()`, `bw_peak_update_coeffs_\*()`, or
|
||||
* `bw_peak_process\*()`, is called,
|
||||
* `bw_sqrtf(bw_pow2f(bandwidth) * peak_gain) *
|
||||
* bw_rcpf(bw_pow2f(bandwidth) - 1.f)` must be in [`1e-6f`, `1e6f`].
|
||||
*
|
||||
@ -309,9 +311,8 @@ static inline void bw_peak_set_peak_gain_dB(
|
||||
* Valid range: [`-600.f`, `600.f`].
|
||||
*
|
||||
* If actually using the bandwidth parameter to control Q, by the time
|
||||
* `bw_peak_reset_coeffs()`, `bw_peak_update_coeffs_ctrl()`,
|
||||
* `bw_peak_update_coeffs_audio()`, `bw_peak_process1()`,
|
||||
* `bw_peak_process()`, or `bw_peak_process_multi()` is called,
|
||||
* `bw_peak_reset_\*()`, `bw_peak_update_coeffs_\*()`, or
|
||||
* `bw_peak_process\*()`, is called,
|
||||
* `bw_sqrtf(bw_pow2f(bandwidth) * peak_gain) *
|
||||
* bw_rcpf(bw_pow2f(bandwidth) - 1.f)` must be in [`1e-6f`, `1e6f`].
|
||||
*
|
||||
@ -328,9 +329,8 @@ static inline void bw_peak_set_bandwidth(
|
||||
* Valid range: [`1e-6f`, `90.f`].
|
||||
*
|
||||
* If actually using the bandwidth parameter to control Q, by the time
|
||||
* `bw_peak_reset_coeffs()`, `bw_peak_update_coeffs_ctrl()`,
|
||||
* `bw_peak_update_coeffs_audio()`, `bw_peak_process1()`,
|
||||
* `bw_peak_process()`, or `bw_peak_process_multi()` is called,
|
||||
* `bw_peak_reset_\*()`, `bw_peak_update_coeffs_\*()`, or
|
||||
* `bw_peak_process\*()`, is called,
|
||||
* `bw_sqrtf(bw_pow2f(bandwidth) * peak_gain) *
|
||||
* bw_rcpf(bw_pow2f(bandwidth) - 1.f)` must be in [`1e-6f`, `1e6f`].
|
||||
*
|
||||
@ -525,6 +525,10 @@ static inline float bw_peak_reset_state(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_peak_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_peak_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->use_bandwidth
|
||||
? bw_sqrtf(bw_pow2f(coeffs->bandwidth) * coeffs->peak_gain) * bw_rcpf(bw_pow2f(coeffs->bandwidth) - 1.f) >= 1e-6f
|
||||
&& bw_sqrtf(bw_pow2f(coeffs->bandwidth) * coeffs->peak_gain) * bw_rcpf(bw_pow2f(coeffs->bandwidth) - 1.f) <= 1e6f
|
||||
: 1);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
BW_ASSERT(bw_is_finite(x_0));
|
||||
|
||||
@ -551,6 +555,10 @@ static inline void bw_peak_reset_state_multi(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_peak_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_peak_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->use_bandwidth
|
||||
? bw_sqrtf(bw_pow2f(coeffs->bandwidth) * coeffs->peak_gain) * bw_rcpf(bw_pow2f(coeffs->bandwidth) - 1.f) >= 1e-6f
|
||||
&& bw_sqrtf(bw_pow2f(coeffs->bandwidth) * coeffs->peak_gain) * bw_rcpf(bw_pow2f(coeffs->bandwidth) - 1.f) <= 1e6f
|
||||
: 1);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
#ifndef BW_NO_DEBUG
|
||||
for (size_t i = 0; i < n_channels; i++)
|
||||
|
@ -32,6 +32,9 @@
|
||||
* <ul>
|
||||
* <li>Version <strong>1.1.1</strong>:
|
||||
* <ul>
|
||||
* <li>Enforced limits on center and amount also in
|
||||
* <code>bw_phaser_reset_state*()</code> and clarified
|
||||
* documentation.</li>
|
||||
* <li>Added debugging checks from <code>bw_phaser_process()</code> to
|
||||
* <code>bw_phaser_process_multi()</code>.</li>
|
||||
* <li>Added debugging checks in <code>bw_phaser_process_multi()</code>
|
||||
@ -236,10 +239,9 @@ static inline void bw_phaser_set_center(
|
||||
*
|
||||
* Valid range: [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* By the time `bw_phaser_reset_coeffs()`, `bw_phaser_update_coeffs_ctrl()`,
|
||||
* `bw_phaser_update_coeffs_audio()`, `bw_phaser_process1()`,
|
||||
* `bw_phaser_process()`, or `bw_phaser_process_multi()` is called,
|
||||
* `center * bw_pow2f(amount)` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_phaser_reset_\*()`, `bw_phaser_update_coeffs_\*()`, or
|
||||
* `bw_phaser_process\*()` is called, `center * bw_pow2f(amount)` must be in
|
||||
* [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1e3f`.
|
||||
*
|
||||
@ -253,10 +255,9 @@ static inline void bw_phaser_set_amount(
|
||||
*
|
||||
* `value` must be finite and non-negative.
|
||||
*
|
||||
* By the time `bw_phaser_reset_coeffs()`, `bw_phaser_update_coeffs_ctrl()`,
|
||||
* `bw_phaser_update_coeffs_audio()`, `bw_phaser_process1()`,
|
||||
* `bw_phaser_process()`, or `bw_phaser_process_multi()` is called,
|
||||
* `center * bw_pow2f(amount)` must be in [`1e-6f`, `1e12f`].
|
||||
* By the time `bw_phaser_reset_\*()`, `bw_phaser_update_coeffs_\*()`, or
|
||||
* `bw_phaser_process\*()` is called, `center * bw_pow2f(amount)` must be in
|
||||
* [`1e-6f`, `1e12f`].
|
||||
*
|
||||
* Default value: `1.f`.
|
||||
*
|
||||
@ -407,6 +408,7 @@ static inline float bw_phaser_reset_state(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_phaser_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_phaser_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->center * bw_pow2f(coeffs->amount) >= 1e-6f && coeffs->center * bw_pow2f(coeffs->amount) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
BW_ASSERT(bw_is_finite(x_0));
|
||||
|
||||
@ -436,6 +438,7 @@ static inline void bw_phaser_reset_state_multi(
|
||||
BW_ASSERT(coeffs != BW_NULL);
|
||||
BW_ASSERT_DEEP(bw_phaser_coeffs_is_valid(coeffs));
|
||||
BW_ASSERT_DEEP(coeffs->state >= bw_phaser_coeffs_state_reset_coeffs);
|
||||
BW_ASSERT_DEEP(coeffs->center * bw_pow2f(coeffs->amount) >= 1e-6f && coeffs->center * bw_pow2f(coeffs->amount) <= 1e12f);
|
||||
BW_ASSERT(state != BW_NULL);
|
||||
#ifndef BW_NO_DEBUG
|
||||
for (size_t i = 0; i < n_channels; i++)
|
||||
|
Loading…
Reference in New Issue
Block a user