Q: Faster than pow...

'Aztec Eagle' Turbo turbo en cie.unam.mx
Vie Ago 18 11:01:23 CDT 2000


¡Saludos!

Tengo un programa que utiliza pow(2,x):

#define LOGVOL(v)       (127*(pow(2,(1.0/127.0)*v)-1))

FLOAT_T tempamp;

tempamp = (LOGVOL(master_volume) *
           LOGVOL(voice[v].velocity) *
           LOGVOL(voice[v].sample->volume) *
           LOGVOL(channel[voice[v].channel].volume) *
           LOGVOL(channel[voice[v].channel].expression));

¿Existe alguna función mucho más rápida que pow(2,x)?

La base siempre es 2 (int) y la potencia x>=0.

Por cierto, también estoy usando ldexp en lugar de dividir. ¿Que
tan bien está implementada ldexp en glibc?

---
Ing. Héctor Daniel Cortés González <hdcg en cie.unam.mx>
http://www.cie.unam.mx/W_Personal/hdcg.html

---------------------------------------------------------
para salir de la lista, enviar un mensaje con las palabras
"unsubscribe ayuda" en el cuerpo a majordomo en linux.org.mx



Más información sobre la lista de distribución Ayuda