compute sine via lookup table */
| 219 | |
| 220 | /** compute sine via lookup table */ |
| 221 | float sinLookup(const float x) |
| 222 | { |
| 223 | float arg = x*M_1_2PI_F; |
| 224 | while (arg > 1.0F) arg -= 1.0F; |
| 225 | while (arg < 0.0F) arg += 1.0F; |
| 226 | |
| 227 | const float argT = arg*((float)TABLESIZE); |
| 228 | const int argI = (int)argT; |
| 229 | const float delta = argT-argI; |
| 230 | const float iDelta = 1.0F-delta; |
| 231 | return iDelta*sinTable[argI] + delta*sinTable[argI+1]; |
| 232 | } |
| 233 | |
| 234 | |
| 235 | /** compute e^(-jx) via lookup table. */ |