Quadruple 128 bit Floating Point Library 1.0
Vous pourrez télécharger en 5 secondes.
Sur Quadruple 128 bit Floating Point Library
Bibliothèque de données flottantes signée de 128 bits, avec 64 bits efficaces de précision (contre 53 pour le type double intégré) et un exposant de 64 bits (contre 11 pour les doubles). Avec une plus grande précision et une portée beaucoup plus grande, quads sont particulièrement utiles lorsqu’il s’agit de très grandes ou très petites valeurs, comme celles des modèles probabilistes. L’adoption d’une plus grande précision fixe plutôt que d’un type de précision arbitraire (comme bigdecimal de Java) signifie que, bien que toujours plus lente que l’arithmétique intégrée, la pénalité n’est qu’un ordre de grandeur ou moins et donc encore réalisable dans de nombreuses applications mathématiques lourdes. Par exemple, sur un ordinateur portable Intel Core i5-2410M, un milliard de multiplications prend 17 secondes avec des valeurs doubles, 135 secondes avec des valeurs Quad utilisant l’opérateur surchargé * et seulement 76 secondes en utilisant la méthode Multiply() (les frais généraux plus élevés de * est due à la mauvaise logique d’inlining de l’optimiseur .Net compilateur / JIT). En comparaison, la solution de contournement couramment utilisée pour la multiplication des sous-flux et des débordements, résumant les logarithmes, prend 130 secondes. En plus d’être plus rapides et plus précis que l’arithmétique log, Quads simplifie également le code en éliminant la nécessité de se rappeler quelles variables sont log’d et en convertissant d’avant en arrière en valeurs log’d. La bibliothèque Quadruple est écrite en C# (code source inclus) et cible .Net 4.0; il devrait également être facilement portable à .Net 2.0 et des langues similaires (telles que Java) avec des modifications simples.