Las tablas precisas de Gal son un método ideado por Shmuel Gal para proporcionar valores precisos de funciones especiales mediante una tabla de búsqueda e interpolación . Es un método rápido y eficiente para generar valores de funciones como las exponenciales o trigonométricas con una precisión de hasta el último bit para casi todos los valores de argumento sin utilizar aritmética de precisión extendida.
La idea principal de las tablas precisas de Gal es una tabulación diferente para la función especial que se está calculando. Normalmente, el rango se divide en varios subrangos, cada uno con valores precalculados y fórmulas de corrección. Para calcular la función, busque el punto más cercano y calcule una corrección como función de la distancia.
La idea de Gal no es calcular previamente valores igualmente espaciados, sino más bien perturbar los puntos x de modo que tanto x como f ( x ) sean casi exactamente representables en el formato numérico elegido. Al buscar aproximadamente 1000 valores a cada lado del valor deseado x , se puede encontrar un valor tal que f ( x ) se pueda representar con menos de ±1/2000 bit de error de redondeo . Si la corrección también se calcula con una precisión de ±1/2000 bit (lo que no requiere precisión de punto flotante adicional siempre que la corrección sea menor que 1/2000 de la magnitud del valor almacenado f ( x ), y la corrección calculada esté más de ±1/1000 de un bit de distancia de exactamente medio bit (el caso de redondeo difícil), entonces se sabe si el valor exacto de la función debe redondearse hacia arriba o hacia abajo.
La técnica proporciona una manera eficiente de calcular el valor de la función con una precisión de ±1/1000 del bit menos significativo, es decir, 10 bits adicionales. Si esta aproximación está a más de ±1/1000 de un bit de distancia del punto medio exacto entre dos valores representables (lo que sucede el 99,8 % de las veces), entonces el resultado correctamente redondeado es claro.
Combinado con un algoritmo de reserva de precisión extendida, esto puede calcular el resultado redondeado correcto en un tiempo promedio muy razonable . En 2/1000 (0,2 %) de las veces, se requiere una evaluación de mayor precisión para resolver la incertidumbre del redondeo, pero esto es lo suficientemente poco frecuente como para que tenga poco efecto en el tiempo de cálculo promedio.
El problema de generar valores de función que sean precisos hasta el último bit se conoce como el dilema del creador de tablas .
{{cite book}}
: Mantenimiento de CS1: ubicación ( enlace )