more of the same + fix new checks in bw_osc_{pulse,tri}_coeffs_is_valid
This commit is contained in:
parent
1e34773da8
commit
c2c1979cc3
@ -33,7 +33,7 @@
|
|||||||
* <li>Version <strong>1.0.1</strong>:
|
* <li>Version <strong>1.0.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Added debugging checks from <code>bw_cab_process()</code> to
|
* <li>Added debugging checks from <code>bw_cab_process()</code> to
|
||||||
* <code>bw_cab_process_multi()</code>.
|
* <code>bw_cab_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_cab_process_multi()</code> to
|
* <li>Added debugging checks in <code>bw_cab_process_multi()</code> to
|
||||||
* ensure that buffers used for both input and output appear at the
|
* ensure that buffers used for both input and output appear at the
|
||||||
* same channel indices.</li>
|
* same channel indices.</li>
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Added debugging checks from <code>bw_chorus_process()</code> to
|
* <li>Added debugging checks from <code>bw_chorus_process()</code> to
|
||||||
* <code>bw_chorus_process_multi()</code>.
|
* <code>bw_chorus_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_chorus_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_chorus_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Added debugging checks from <code>bw_clip_process()</code> to
|
* <li>Added debugging checks from <code>bw_clip_process()</code> to
|
||||||
* <code>bw_clip_process_multi()</code>.
|
* <code>bw_clip_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_clip_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_clip_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Added debugging checks from <code>bw_comb_process()</code> to
|
* <li>Added debugging checks from <code>bw_comb_process()</code> to
|
||||||
* <code>bw_comb_process_multi()</code>.
|
* <code>bw_comb_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_comb_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_comb_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Added debugging checks from <code>bw_comp_process()</code> to
|
* <li>Added debugging checks from <code>bw_comp_process()</code> to
|
||||||
* <code>bw_comp_process_multi()</code>.
|
* <code>bw_comp_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_comp_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_comp_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Added debugging checks from <code>bw_delay_process()</code> to
|
* <li>Added debugging checks from <code>bw_delay_process()</code> to
|
||||||
* <code>bw_delay_process_multi()</code>.
|
* <code>bw_delay_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_delay_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_delay_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
|
@ -34,6 +34,8 @@
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
* <li>Added debugging checks from <code>bw_dist_process()</code> to
|
||||||
|
* <code>bw_dist_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_dist_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_dist_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
@ -555,6 +557,10 @@ static inline void bw_dist_process_multi(
|
|||||||
BW_ASSERT_DEEP(coeffs->state >= bw_dist_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_dist_coeffs_state_reset_coeffs);
|
||||||
BW_ASSERT(state != BW_NULL);
|
BW_ASSERT(state != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(state[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_dist_state_is_valid(coeffs, state[i]));
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(state[i] != state[j]);
|
BW_ASSERT(state[i] != state[j]);
|
||||||
@ -562,6 +568,11 @@ static inline void bw_dist_process_multi(
|
|||||||
BW_ASSERT(x != BW_NULL);
|
BW_ASSERT(x != BW_NULL);
|
||||||
BW_ASSERT(y != BW_NULL);
|
BW_ASSERT(y != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(x[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(x[i], n_samples));
|
||||||
|
BW_ASSERT(y[i] != BW_NULL);
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(y[i] != y[j]);
|
BW_ASSERT(y[i] != y[j]);
|
||||||
@ -579,6 +590,12 @@ static inline void bw_dist_process_multi(
|
|||||||
|
|
||||||
BW_ASSERT_DEEP(bw_dist_coeffs_is_valid(coeffs));
|
BW_ASSERT_DEEP(bw_dist_coeffs_is_valid(coeffs));
|
||||||
BW_ASSERT_DEEP(coeffs->state >= bw_dist_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_dist_coeffs_state_reset_coeffs);
|
||||||
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT_DEEP(bw_dist_state_is_valid(coeffs, state[i]));
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(y[i], n_samples));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bw_dist_set_distortion(
|
static inline void bw_dist_set_distortion(
|
||||||
|
@ -34,6 +34,8 @@
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
* <li>Added debugging checks from <code>bw_drive_process()</code> to
|
||||||
|
* <code>bw_drive_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_drive_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_drive_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
@ -558,6 +560,10 @@ static inline void bw_drive_process_multi(
|
|||||||
BW_ASSERT_DEEP(coeffs->state >= bw_drive_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_drive_coeffs_state_reset_coeffs);
|
||||||
BW_ASSERT(state != BW_NULL);
|
BW_ASSERT(state != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(state[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_drive_state_is_valid(coeffs, state[i]));
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(state[i] != state[j]);
|
BW_ASSERT(state[i] != state[j]);
|
||||||
@ -565,6 +571,11 @@ static inline void bw_drive_process_multi(
|
|||||||
BW_ASSERT(x != BW_NULL);
|
BW_ASSERT(x != BW_NULL);
|
||||||
BW_ASSERT(y != BW_NULL);
|
BW_ASSERT(y != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(x[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(x[i], n_samples));
|
||||||
|
BW_ASSERT(y[i] != BW_NULL);
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(y[i] != y[j]);
|
BW_ASSERT(y[i] != y[j]);
|
||||||
@ -582,6 +593,12 @@ static inline void bw_drive_process_multi(
|
|||||||
|
|
||||||
BW_ASSERT_DEEP(bw_drive_coeffs_is_valid(coeffs));
|
BW_ASSERT_DEEP(bw_drive_coeffs_is_valid(coeffs));
|
||||||
BW_ASSERT_DEEP(coeffs->state >= bw_drive_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_drive_coeffs_state_reset_coeffs);
|
||||||
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT_DEEP(bw_drive_state_is_valid(coeffs, state[i]));
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(y[i], n_samples));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bw_drive_set_drive(
|
static inline void bw_drive_set_drive(
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>Version <strong>1.2.0</strong>:
|
* <li>Version <strong>1.2.0</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
* <li>Added debugging checks from <code>bw_dry_wet_process()</code> to
|
||||||
|
* <code>bw_dry_wet_process_multi()</code>.</li>
|
||||||
* <li>Added <code>bw_dry_wet_get_wet()</code> and
|
* <li>Added <code>bw_dry_wet_get_wet()</code> and
|
||||||
* <code>bw_dry_wet_get_wet_cur()</code>, and corresponding C++
|
* <code>bw_dry_wet_get_wet_cur()</code>, and corresponding C++
|
||||||
* API.</li>
|
* API.</li>
|
||||||
@ -380,6 +382,13 @@ static inline void bw_dry_wet_process_multi(
|
|||||||
BW_ASSERT(x_wet != BW_NULL);
|
BW_ASSERT(x_wet != BW_NULL);
|
||||||
BW_ASSERT(y != BW_NULL);
|
BW_ASSERT(y != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(x_dry[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(x_dry[i], n_samples));
|
||||||
|
BW_ASSERT(x_wet[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(x_wet[i], n_samples));
|
||||||
|
BW_ASSERT(y[i] != BW_NULL);
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(y[i] != y[j]);
|
BW_ASSERT(y[i] != y[j]);
|
||||||
@ -399,6 +408,10 @@ static inline void bw_dry_wet_process_multi(
|
|||||||
|
|
||||||
BW_ASSERT_DEEP(bw_dry_wet_coeffs_is_valid(coeffs));
|
BW_ASSERT_DEEP(bw_dry_wet_coeffs_is_valid(coeffs));
|
||||||
BW_ASSERT_DEEP(coeffs->state >= bw_dry_wet_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_dry_wet_coeffs_state_reset_coeffs);
|
||||||
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(y[i], n_samples));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bw_dry_wet_set_wet(
|
static inline void bw_dry_wet_set_wet(
|
||||||
|
@ -30,6 +30,8 @@
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
* <li>Added debugging checks from <code>bw_env_follow_process()</code>
|
||||||
|
* to <code>bw_env_follow_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in
|
* <li>Added debugging checks in
|
||||||
* <code>bw_env_follow_process_multi()</code> to ensure that
|
* <code>bw_env_follow_process_multi()</code> to ensure that
|
||||||
* buffers used for both input and output appear at the same
|
* buffers used for both input and output appear at the same
|
||||||
@ -523,12 +525,20 @@ static inline void bw_env_follow_process_multi(
|
|||||||
BW_ASSERT_DEEP(coeffs->state >= bw_env_follow_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_env_follow_coeffs_state_reset_coeffs);
|
||||||
BW_ASSERT(state != BW_NULL);
|
BW_ASSERT(state != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(state[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_env_follow_state_is_valid(coeffs, state[i]));
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(state[i] != state[j]);
|
BW_ASSERT(state[i] != state[j]);
|
||||||
#endif
|
#endif
|
||||||
BW_ASSERT(x != BW_NULL);
|
BW_ASSERT(x != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(x[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(x[i], n_samples));
|
||||||
|
}
|
||||||
if (y != BW_NULL) {
|
if (y != BW_NULL) {
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
@ -558,6 +568,12 @@ static inline void bw_env_follow_process_multi(
|
|||||||
|
|
||||||
BW_ASSERT_DEEP(bw_env_follow_coeffs_is_valid(coeffs));
|
BW_ASSERT_DEEP(bw_env_follow_coeffs_is_valid(coeffs));
|
||||||
BW_ASSERT_DEEP(coeffs->state >= bw_env_follow_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_env_follow_coeffs_state_reset_coeffs);
|
||||||
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT_DEEP(bw_env_follow_state_is_valid(coeffs, state[i]));
|
||||||
|
BW_ASSERT_DEEP(y != BW_NULL && y[i] != BW_NULL ? bw_has_only_finite(y[i], n_samples) : 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bw_env_follow_set_attack_tau(
|
static inline void bw_env_follow_set_attack_tau(
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
* module_type {{{ dsp }}}
|
* module_type {{{ dsp }}}
|
||||||
* version {{{ 1.1.0 }}}
|
* version {{{ 1.1.1 }}}
|
||||||
* requires {{{ bw_common bw_math bw_one_pole }}}
|
* requires {{{ bw_common bw_math bw_one_pole }}}
|
||||||
* description {{{
|
* description {{{
|
||||||
* Linear ADSR envelope generator.
|
* Linear ADSR envelope generator.
|
||||||
@ -42,6 +42,12 @@
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>Version <strong>1.1.0</strong>:
|
* <li>Version <strong>1.1.0</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
* <li>Added debugging checks from <code>bw_env_gen_process()</code> to
|
||||||
|
* <code>bw_env_gen_process_multi()</code>.</li>
|
||||||
|
* </ul>
|
||||||
|
* </li>
|
||||||
|
* <li>Version <strong>1.1.0</strong>:
|
||||||
|
* <ul>
|
||||||
* <li>Added skip_sustain and always_reach_sustain parameters.</li>
|
* <li>Added skip_sustain and always_reach_sustain parameters.</li>
|
||||||
* <li>Now using <code>BW_NULL</code> and
|
* <li>Now using <code>BW_NULL</code> and
|
||||||
* <code>BW_CXX_NO_ARRAY</code>.</li>
|
* <code>BW_CXX_NO_ARRAY</code>.</li>
|
||||||
@ -725,6 +731,10 @@ static inline void bw_env_gen_process_multi(
|
|||||||
BW_ASSERT_DEEP(coeffs->state >= bw_env_gen_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_env_gen_coeffs_state_reset_coeffs);
|
||||||
BW_ASSERT(state != BW_NULL);
|
BW_ASSERT(state != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(state[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_env_gen_state_is_valid(coeffs, state[i]));
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(state[i] != state[j]);
|
BW_ASSERT(state[i] != state[j]);
|
||||||
@ -754,6 +764,12 @@ static inline void bw_env_gen_process_multi(
|
|||||||
|
|
||||||
BW_ASSERT_DEEP(bw_env_gen_coeffs_is_valid(coeffs));
|
BW_ASSERT_DEEP(bw_env_gen_coeffs_is_valid(coeffs));
|
||||||
BW_ASSERT_DEEP(coeffs->state >= bw_env_gen_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_env_gen_coeffs_state_reset_coeffs);
|
||||||
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT_DEEP(bw_env_gen_state_is_valid(coeffs, state[i]));
|
||||||
|
BW_ASSERT_DEEP(y != BW_NULL && y[i] != BW_NULL ? bw_has_only_finite(y[i], n_samples) : 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bw_env_gen_set_attack(
|
static inline void bw_env_gen_set_attack(
|
||||||
|
@ -34,6 +34,8 @@
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
* <li>Added debugging checks from <code>bw_fuzz_process()</code> to
|
||||||
|
* <code>bw_fuzz_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_fuzz_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_fuzz_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
@ -544,6 +546,10 @@ static inline void bw_fuzz_process_multi(
|
|||||||
BW_ASSERT_DEEP(coeffs->state >= bw_fuzz_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_fuzz_coeffs_state_reset_coeffs);
|
||||||
BW_ASSERT(state != BW_NULL);
|
BW_ASSERT(state != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(state[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_fuzz_state_is_valid(coeffs, state[i]));
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(state[i] != state[j]);
|
BW_ASSERT(state[i] != state[j]);
|
||||||
@ -551,6 +557,11 @@ static inline void bw_fuzz_process_multi(
|
|||||||
BW_ASSERT(x != BW_NULL);
|
BW_ASSERT(x != BW_NULL);
|
||||||
BW_ASSERT(y != BW_NULL);
|
BW_ASSERT(y != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(x[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(x[i], n_samples));
|
||||||
|
BW_ASSERT(y[i] != BW_NULL);
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(y[i] != y[j]);
|
BW_ASSERT(y[i] != y[j]);
|
||||||
@ -568,6 +579,12 @@ static inline void bw_fuzz_process_multi(
|
|||||||
|
|
||||||
BW_ASSERT_DEEP(bw_fuzz_coeffs_is_valid(coeffs));
|
BW_ASSERT_DEEP(bw_fuzz_coeffs_is_valid(coeffs));
|
||||||
BW_ASSERT_DEEP(coeffs->state >= bw_fuzz_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_fuzz_coeffs_state_reset_coeffs);
|
||||||
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT_DEEP(bw_fuzz_state_is_valid(coeffs, state[i]));
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(y[i], n_samples));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bw_fuzz_set_fuzz(
|
static inline void bw_fuzz_set_fuzz(
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>Version <strong>1.1.1</strong>:
|
* <li>Version <strong>1.1.1</strong>:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
* <li>Added debugging checks from <code>bw_ap1_process()</code> to
|
||||||
|
* <code>bw_ap1_process_multi()</code>.</li>
|
||||||
* <li>Added debugging checks in <code>bw_gain_process_multi()</code>
|
* <li>Added debugging checks in <code>bw_gain_process_multi()</code>
|
||||||
* to ensure that buffers used for both input and output appear at
|
* to ensure that buffers used for both input and output appear at
|
||||||
* the same channel indices.</li>
|
* the same channel indices.</li>
|
||||||
@ -409,6 +411,11 @@ static inline void bw_gain_process_multi(
|
|||||||
BW_ASSERT(x != BW_NULL);
|
BW_ASSERT(x != BW_NULL);
|
||||||
BW_ASSERT(y != BW_NULL);
|
BW_ASSERT(y != BW_NULL);
|
||||||
#ifndef BW_NO_DEBUG
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++) {
|
||||||
|
BW_ASSERT(x[i] != BW_NULL);
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(x[i], n_samples));
|
||||||
|
BW_ASSERT(y[i] != BW_NULL);
|
||||||
|
}
|
||||||
for (size_t i = 0; i < n_channels; i++)
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
for (size_t j = i + 1; j < n_channels; j++)
|
for (size_t j = i + 1; j < n_channels; j++)
|
||||||
BW_ASSERT(y[i] != y[j]);
|
BW_ASSERT(y[i] != y[j]);
|
||||||
@ -426,6 +433,10 @@ static inline void bw_gain_process_multi(
|
|||||||
|
|
||||||
BW_ASSERT_DEEP(bw_gain_coeffs_is_valid(coeffs));
|
BW_ASSERT_DEEP(bw_gain_coeffs_is_valid(coeffs));
|
||||||
BW_ASSERT_DEEP(coeffs->state >= bw_gain_coeffs_state_reset_coeffs);
|
BW_ASSERT_DEEP(coeffs->state >= bw_gain_coeffs_state_reset_coeffs);
|
||||||
|
#ifndef BW_NO_DEBUG
|
||||||
|
for (size_t i = 0; i < n_channels; i++)
|
||||||
|
BW_ASSERT_DEEP(bw_has_only_finite(y[i], n_samples));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bw_gain_set_gain_lin(
|
static inline void bw_gain_set_gain_lin(
|
||||||
|
@ -554,7 +554,7 @@ static inline char bw_osc_pulse_coeffs_is_valid(
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#ifdef BW_DEBUG_DEEP
|
#ifdef BW_DEBUG_DEEP
|
||||||
if (coeffs->state >= bw_gain_coeffs_state_reset_coeffs && !bw_one_pole_state_is_valid(&coeffs->smooth_coeffs, &coeffs->smooth_state))
|
if (coeffs->state >= bw_osc_pulse_coeffs_state_reset_coeffs && !bw_one_pole_state_is_valid(&coeffs->smooth_coeffs, &coeffs->smooth_state))
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -561,7 +561,7 @@ static inline char bw_osc_tri_coeffs_is_valid(
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#ifdef BW_DEBUG_DEEP
|
#ifdef BW_DEBUG_DEEP
|
||||||
if (coeffs->state >= bw_gain_coeffs_state_reset_coeffs && !bw_one_pole_state_is_valid(&coeffs->smooth_coeffs, &coeffs->smooth_state))
|
if (coeffs->state >= bw_osc_tri_coeffs_state_reset_coeffs && !bw_one_pole_state_is_valid(&coeffs->smooth_coeffs, &coeffs->smooth_state))
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user