Definition at line 108 of file wave_simulation_real.cpp.
108 {
111
112
113 curr[0] = curr[1];
115
116
118
119 int32_t mCourantSq32 =
static_cast<int32_t
>(
mCourantSq);
120
121 for (
size_t i = 1; i <
length + 1; i++) {
122
123
124 int32_t lap =
125 (int32_t)curr[i + 1] - ((int32_t)curr[i] << 1) + curr[i - 1];
126
127
128 int32_t term = (mCourantSq32 * lap) >> 15;
129
130
131
132 int32_t f = -(int32_t)next[i] + ((int32_t)curr[i] << 1) + term;
133
134
135 f = f - (f / dampening_factor);
136
137
138 if (f > 32767)
139 f = 32767;
140 else if (f < -32768)
141 f = -32768;
142
143 next[i] = (int16_t)f;
144 }
145
147
148 for (
size_t i = 1; i <
length + 1; i++) {
149 if (next[i] < 0) {
150 next[i] = 0;
151 }
152 }
153 }
154
155
157}
fl::scoped_array< int16_t > grid2
fl::scoped_array< int16_t > grid1
References grid1, grid2, length, mCourantSq, mDampenening, mHalfDuplex, and whichGrid.