Pregunta

Necesito trabajar con precisión en Dyalog APL.Sé que el valor de ⎕PP establece la precisión, pero no puedo aumentarlo a más de 18, por lo que no puedo obtener más precisión que 18 dígitos y necesito operar con números grandes.¿Hay alguna manera de aumentar la precisión?

¿Fue útil?

Solución

La versión 13.0 de Dyalog APL, que se encuentra actualmente en Beta y cuyo lanzamiento está previsto para finales de marzo, permite a los usuarios decidir si utilizan el antiguo formato binario de DOBLE precisión IEEE-754, que tiene una precisión máxima de 16 dígitos, o IEEE- 754-2008 Números decimales de punto flotante de 128 bits.El nuevo formato tiene 34 dígitos de precisión y también evita una serie de problemas de redondeo causados ​​por el antiguo formato binario.Los cálculos que utilizan el nuevo formato serán significativamente más lentos a menos que esté ejecutando APL en hardware IBM POWER, que tiene soporte de hardware para el nuevo formato del P6.Póngase en contacto con sales@dyalog.com si desea participar en el programa Beta.

La versión 13.0 también agrega soporte para números complejos en Dyalog APL, pero solo usando un par de números binarios de doble precisión; por ahora no habrá números complejos decimales.

Estamos trabajando para admitir números enteros y racionales de precisión ilimitada.Un prototipo de esto puede aparecer en 2011, pero no esperamos ponerlo en producción hasta 2012 como muy pronto.

Morten Kromberg (CTO, Dyalog Ltd)

Otros consejos

Quad PP es de "precisión de impresión", y es relevante sólo para la visualización de los números en la sesión Dyalog APL, y no tiene nada que ver con la precisión real de los números.

Hay un espacio de trabajo suministrado llamado "dfns" que contiene las funciones para operar con números grandes.

Sólo para dar seguimiento a la respuesta de Morten, Dyalog APL de hecho ha apoyado 128 bits decimal de cuatro coma flotante de precisión desde la versión 13.0 fue lanzado en 2011! Puede cambiar el formato de coma flotante mediante el establecimiento de una variable del sistema ⎕FR a 645 (de doble precisión binaria) o 1287 (para quad precisión decimal). Pruébelo en línea!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top