mentat-collective / emmy

The Emmy Computer Algebra System.
https://emmy.mentat.org
GNU General Public License v3.0
405 stars 24 forks source link

Replace bigfraction.js with CLJS code #155

Closed littleredcomputer closed 11 months ago

littleredcomputer commented 11 months ago

A minimal set of arbitrary precision rationals is built on a pair of native JS BigInts. Rather than manage a general fraction field over some Euclidean domain, it was decided to produce something very similar to Clojure's native Ratio type.

Unusually for an Emmy file, the implementation is ClojureScript only; the main technicality in this library is preserving the BigInt-compatibility of the arithmetic operations done.

codecov[bot] commented 11 months ago

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (89f75a7) 87.76% compared to head (4a4ad6b) 87.77%.

Files Patch % Lines
src/emmy/ratio.cljc 94.44% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #155 +/- ## ======================================= Coverage 87.76% 87.77% ======================================= Files 100 100 Lines 15975 15965 -10 Branches 854 850 -4 ======================================= - Hits 14021 14013 -8 - Misses 1100 1102 +2 + Partials 854 850 -4 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

sritchie commented 11 months ago

Good to go except for maybe the js-mod change if that is faster