Pergunta

Eu preciso trabalhar com precisão na Dyalog APL. Eu sei o valor de ?PP define a precisão, mas não pode aumentá-lo mais de 18, então eu não pode obter mais precisão de 18 dígitos e eu preciso para operar com números grandes. Existe alguma maneira para aumentar a precisão?

Foi útil?

Solução

Versão 13.0 da Dyalog APL, que está atualmente em beta e com lançamento previsto para o final de março, permitem aos utilizadores decidir se a usar o velho IEEE-754 formato de precisão dupla binário, que tem uma precisão máxima de 16 dígitos, ou IEE-754-2008 128 bits decimais números de ponto flutuante. O novo formato tem 34 dígitos de precisão e também evita uma série de problemas de arredondamento causados ??pelo velho formato binário. Cálculos usando o novo formato será muito significativamente mais lento, a menos que você estiver executando APL em hardware IBM POWER, que tem suporte de hardware para o novo formato do P6. Contactar sales@dyalog.com se você gostaria de participar no programa Beta.

Versão 13.0 também adiciona suporte para números complexos em Dyalog APL - mas apenas usando um par de números de precisão dupla binários -. Não haverá números complexos decimais por agora

Estamos trabalhando no suporte para inteiros ilimitado de precisão e números racionais. Um protótipo deste pode aparecer em 2011, mas não esperamos colocá-lo em uma versão de produção até 2012, no mínimo.

Morten Kromberg (CTO, Dyalog Ltd)

Outras dicas

Quad PP é para "precisão de impressão", e é relevante apenas para exibir números na sessão Dyalog APL, e não tem nada a ver com a precisão real de números.

Há um espaço de trabalho fornecido denominado "NDR" que contém funções para operar com números grandes.

Apenas para acompanhar a resposta de Morten, Dyalog APL tem, efectivamente suportado 128 bits quad-precisão decimal de ponto flutuante desde a versão 13.0 foi lançado em 2011! Você pode alternar formato de ponto flutuante, definindo um ?FR variável do sistema para 645 (para binários de precisão dupla) ou 1287 (para quad precisão decimal). Experimente online!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top