Рубрика «arbitrary-precision»

Точность штатного калькулятора iOS

Идущий в составе iOS калькулятор выполняет операции в четверной точности (quad float, мантисса 112 бит, от 33 до 36 десятичных цифр), затем округляет результат по эстетическим соображениям. Например, количество отображаемых значащих цифр отличается в вертикальном режиме, горизонтальном режиме и при копировании в буфер обмена.

В процессе реализации одной «считалки» возникла проблема с повышенной точностью вычислений. Расчетный алгоритм работал быстро на стандартных числах с плавающей запятой, но когда подключались библиотеки для точных вычислений, все начинало дико тормозить. В этой статье будут рассмотрены алгоритмы расширения чисел с плавающей запятой с помощью мультикомпонентного подхода, благодаря которому удалось достичь ускорения, так как float арифметика реализована на кристалле цп. Данный подход будет полезен для более точного вычисления численной производной, обращение матриц, обрезке полигонов или других геометрических задач. Так возможна эмуляции 64bit float на видеокартах, которые их не поддерживают.

double.js benchmark

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js