Definition at line 90 of file wave_simulation_real.cpp.
90 {
93
94
95 curr[0] = curr[1];
97
98
100
101 int32_t mCourantSq32 =
static_cast<int32_t
>(
mCourantSq);
102
103 for (
size_t i = 1; i <
length + 1; i++) {
104
105
106 int32_t lap =
107 (int32_t)curr[i + 1] - ((int32_t)curr[i] << 1) + curr[i - 1];
108
109
110 int32_t term = (mCourantSq32 * lap) >> 15;
111
112
113
114 int32_t f = -(int32_t)next[i] + ((int32_t)curr[i] << 1) + term;
115
116
117 f = f - (f / dampening_factor);
118
119
120 if (f > 32767)
121 f = 32767;
122 else if (f < -32768)
123 f = -32768;
124
125 next[i] = (int16_t)f;
126 }
127
129
130 for (
size_t i = 1; i <
length + 1; i++) {
131 if (next[i] < 0) {
132 next[i] = 0;
133 }
134 }
135 }
136
137
139}
fl::scoped_array< int16_t > grid2
fl::scoped_array< int16_t > grid1
References grid1, grid2, length, mCourantSq, mDampenening, mHalfDuplex, and whichGrid.