67 for(
int i = 0; i < num_harmonics; ++i)
70 *
static_cast<float>(first_harmonic_index_ + i);
75 amplitude_[i] = newamplitude_[i] * (1.0f - f * 2.0f);
84 const float two_x = 2.0f * sinf(phase_ * TWOPI_F);
85 float previous, current;
86 if(first_harmonic_index_ == 1)
89 current = two_x * 0.5f;
93 const float k = first_harmonic_index_;
94 previous = sinf((phase_ * (k - 1.0f) + 0.25f) * TWOPI_F);
95 current = sinf((phase_ * k) * TWOPI_F);
99 for(
int i = 0; i < num_harmonics; ++i)
101 sum += amplitude_[i] * current;
102 float temp = current;
103 current = two_x * current - previous;