/
Mikhail823
/
todo
Обзор
Документация
Войти
/
Mikhail823
/
todo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/fraction.js/examples/approx.js
53 строки
1 KB
Mikhail Popov
j
23 фев 2026, 16:12
23 фев 2026, 16:12
ff7232a
Код
Авторство
О чём код?
/* Fraction.js v5.0.0 10/1/2024 https://raw.org/article/rational-numbers-in-javascript/ Copyright (c) 2024, Robert Eisele (https://raw.org/) Licensed under the MIT license. */ const Fraction = require('fraction.js'); // Another rational approximation, not using Farey Sequences but Binary Search using the mediant function approximate(p, precision) { var num1 = Math.floor(p); var den1 = 1; var num2 = num1 + 1; var den2 = 1; if (p !== num1) { while (den1 <= precision && den2 <= precision) { var m = (num1 + num2) / (den1 + den2); if (p === m) { if (den1 + den2 <= precision) { den1 += den2; num1 += num2; den2 = precision + 1; } else if (den1 > den2) { den2 = precision + 1; } else { den1 = precision + 1; } break; } else if (p < m) { num2 += num1; den2 += den1; } else { num1 += num2; den1 += den2; } } } if (den1 > precision) { den1 = den2; num1 = num2; } return new Fraction(num1, den1); }