Definition at line 127 of file wave_simulation_real.cpp.hpp.
127 {
130
131
132 curr[0] = curr[1];
134
135 i32 mCourantSq32 =
static_cast<i32
>(
mCourantSq);
136
137
138
139
140
142
143 for (fl::size i = 1; i <
length + 1; i++) {
144
145
146 i32 lap =
147 (i32)curr[i + 1] - ((i32)curr[i] << 1) + curr[i - 1];
148
149
150
151
152
153
154
155
156 i32 term = static_cast<i32>(
157 (
static_cast<i64>(mCourantSq32) * lap) >> 15);
158
159
160
161 i32 f = -(i32)next[i] + ((i32)curr[i] << 1) + term;
162
163
164
165
166
167
168
169 f = static_cast<i32>(
171
172
173
174
175 next[i] =
static_cast<i16
>(
fl::clamp(f, q15_min,
static_cast<i32
>(32767)));
176 }
177
178
180}
constexpr enable_if< is_fixed_point< T >::value, T >::type clamp(T x, T lo, T hi) FL_NOEXCEPT
References fl::clamp(), grid1, grid2, length, mCourantSq, mDampDecayQ15, mHalfDuplex, and whichGrid.