rational 2.2.3
rational: ^2.2.3 copied to clipboard
The rational package allows you to deal with rational numbers.
2.2.3 - 2024-06-02 #
- Improve performance by working around the issue BigInt.gcd() is really slow with a custom
gcdimplementation based on Euclidean algorithm.
2.2.2 - 2022-12-07 #
- Update files according to license.
2.2.1 - 2022-11-24 #
- Update license file to be recognized by pub.flutter-io.cn.
2.2.0 - 2022-03-20 #
- Explicitly throw an
ArgumentErrorwhen a Rational is created with a zero denominator.
2.1.0 - 2022-01-27 #
- Add
Rational.tryParse.
2.0.0 - 2021-11-29 #
The goal of this version is to move several decimal methods back to the decimal package and to have sharper types on the API.
It introduces several breaking changes.
~/,round(),floor(),ceil(),truncate()now return aBigInt. If you need aRationalyou can convert theBigInttoRationalwithbigint.toRational().- Removal of
toDecimalString(). You can replace it withrational.toDecimal(scaleOnInfinitePrecision: 10).toString()using the decimal package. - Removal of
isNaNgetter. It was always returningfalse. - Removal of
isInfinitegetter. It was always returningfalse. - Removal of
isNegativegetter. You can replace it withrational < Rational.zero. - Removal of
roundToDouble(),floorToDouble(),ceilToDouble(),truncateToDouble(). You can replace them byround().toDouble(),floor().toDouble(),ceil().toDouble(),truncate().toDouble(). - Removal of
toInt(). You can replace it withrational.toBigInt().toInt(). - Removal of
hasFinitePrecisiongetter. This getter (provided as extension onRational) is now part of the decimal package. - Removal of
precisionandscalegetters. They was only available on rational returningtrueonhasFinitePrecision(ie. decimal numbers). You can replace them withrational.toDecimal().precisionandrational.toDecimal().scaleusing the decimal package. - Removal of
toStringAsFixed,toStringAsExponentialandtoStringAsPrecision. You can replace them withrational.toDecimal(scaleOnInfinitePrecision: xxx).toStringAsFixed,rational.toDecimal(scaleOnInfinitePrecision: xxx).toStringAsExponentialandrational.toDecimal(scaleOnInfinitePrecision: xxx).toStringAsPrecisionusing the decimal package.
Other changes:
- Add extension method
toRational()onint. - Add extension method
toRational()onBigInt.
1.2.1 - 2021-05-28 #
- Improve performance of several methods by working around the issue BigInt.gcd() is really slow with a custom
gcdimplementation based on Euclidean algorithm.
1.2.0 - 2021-05-28 #
- Improve parsing of number with big exponent part. However the exponent part must now be parsable as an int.
1.1.0+1 - 2021-04-29 #
- Fix the doc of
pow.
1.1.0 - 2021-04-29 #
- Allow negative value as exponent of
pow.
1.0.0 - 2021-02-25 #
- Stable null safety release.
1.0.0-nullsafety - 2020-11-27 #
- Migrate to nullsafety.
0.3.8 - 2020-01-30 #
- Improve pub score.
0.3.7 - 2019-09-02 #
0.3.6 - 2019-09-02 #
- add
Rational.pow.
0.3.5 - 2019-07-29 #
- add
Rational.zeroandRational.one. - add
Rational.inverse.
0.3.4 - 2019-04-25 #
0.3.3 - 2019-04-08 #
- fix issue with
signnum.
0.3.2 - 2019-03-19 #
0.3.1 - 2018-07-24 #
- migration to Dart 2.
0.3.0 - 2018-07-10 #
- allow parsing of
1.. - make
Rational.parsea factory constructor.
0.2.0 - 2018-03-15 #
- move to Dart SDK 2.0
- remove
BigIntclass - use
BigIntprovided bydart:core
0.1.11 - 2017-06-16 #
- add types.
0.1.10+1 - 2017-02-19 #
- fix bug on
operator %with negative values on browser.
0.1.10 - 2017-02-19 #
0.1.9 - 2016-06-10 #
- fix a bug on
BigInt.toDouble.
0.1.8+1 - 2014-10-29 #
- fix a bug for
Rational.precisionon negative number.
0.1.8 - 2014-10-29 #
- fix bugs with dart2js
- add
Rational.signum - add
Rational.hasFinitePrecision - add
Rational.precision - add
Rational.scale
0.1.7 - 2014-10-07 #
Rational.parseaccepts strings in scientific notation (eg.1.5e-3).
0.1.6 - 2014-10-06 #
BigInt.parseaccepts an optional prepending+for positive integers.
Semantic Version Conventions #
- Stable: All even numbered minor versions are considered API stable: i.e.: v1.0.x, v1.2.x, and so on.
- Development: All odd numbered minor versions are considered API unstable: i.e.: v0.9.x, v1.1.x, and so on.