| n = n << 1; | n = n << 1; | ||||
| #else | #else | ||||
| // exp2 algorithm by Laurent de Soras | // exp2 algorithm by Laurent de Soras | ||||
| // http://www.musicdsp.org/showone.php?id=106 | |||||
| // https://www.musicdsp.org/en/latest/Other/106-fast-exp2-approximation.html | |||||
| n = (n + 134217728) << 3; | n = (n + 134217728) << 3; | ||||
| n = multiply_32x32_rshift32_rounded(n, n); | n = multiply_32x32_rshift32_rounded(n, n); | ||||
| n = multiply_32x32_rshift32_rounded(n, 715827883) << 3; | n = multiply_32x32_rshift32_rounded(n, 715827883) << 3; | 
| n = n << 1; | n = n << 1; | ||||
| #else | #else | ||||
| // exp2 algorithm by Laurent de Soras | // exp2 algorithm by Laurent de Soras | ||||
| // http://www.musicdsp.org/showone.php?id=106 | |||||
| // https://www.musicdsp.org/en/latest/Other/106-fast-exp2-approximation.html | |||||
| n = (n + 134217728) << 3; | n = (n + 134217728) << 3; | ||||
| n = multiply_32x32_rshift32_rounded(n, n); | n = multiply_32x32_rshift32_rounded(n, n); | ||||
| n = multiply_32x32_rshift32_rounded(n, 715827883) << 3; | n = multiply_32x32_rshift32_rounded(n, 715827883) << 3; |