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; |