Releases: ruby/bigdecimal
Releases · ruby/bigdecimal
v3.3.1
v3.3.0
What's Changed
- Allow calling Rational#to_d without arguments by @fsateler in #421
- Fix test_no_memory_leak failure by @tompng in #424
- Change BigMath.sin and cos to always calculate in relative precision. by @tompng in #422
- Faster exp calculation by @tompng in #399
- Rename assert_relative_precision to assert_converge_in_precision by @tompng in #425
- Add support for tangent function by @rhannequin in #231
- Make bigdecimal.rb work in JRuby by @tompng in #420
- BigMath methods common interface: coerce x, validate prec, check nan error by @tompng in #415
- Round result of sqrt and BigMath methods by @tompng in #427
- Update example calculation result in BigMath document by @tompng in #428
- BigMath.log(0,n)==-Infinity just like Math.log(0) by @tompng in #430
- Fix divmod and modulo by infinity to match Float#divmod and Float#modulo by @tompng in #429
- Bump step-security/harden-runner from 2.13.0 to 2.13.1 by @dependabot[bot] in #431
- Make internal BigMath method a private method by @tompng in #432
- Improve performance of x**y when y is a huge value by @tompng in #438
- Fix precision of x.power(y, prec) when the result is nearly infinity by @tompng in #439
- Bump version to 3.3.0 by @tompng in #437
New Contributors
Full Changelog: v3.2.3...v3.3.0
v3.2.3
What's Changed
- Fix sign of bigdecimal**bigint by @tompng in #341
- Fix BigMath.atan precision safe margin by @tompng in #320
- Fix typo in BigDecimal#scale comment by @timcraft in #348
- Allow BigDecimal accept Float without precision by @mrzasa in #314
- Fix edgecase segfault of BigDecimal#remainder by @tompng in #349
- Fix precision of BigMath.sin(x,prec) and BigMath.cos(x,prec) for large x by @tompng in #346
- Fix wrong converge check in VpSqrt by @tompng in #353
- Bump step-security/harden-runner from 2.12.0 to 2.12.1 by @dependabot[bot] in #356
- Ensure BigMath.sin and BigMath.cos to be within -1..1 by @tompng in #317
- Remove BigDecimal_divremain(which has a bug) and use BigDecimal_DoDivmod instead by @tompng in #351
- Bump step-security/harden-runner from 2.12.1 to 2.12.2 by @dependabot[bot] in #359
- Remove back pointer from Real to VALUE by @tompng in #344
- Update docs for #to_d core extensions by @dduugg in #360
- Fix compiling issue (when BIGDECIMAL_DEBUG is 1) by @tompng in #363
- Use a correct term: engineering notation -> scientific notation by @mame in #365
- Fix to_f underflow check when DECDIG is uint16_t by @tompng in #364
- Fix VpNumOfChars calculation for the longest case by @tompng in #366
- Fix a bug that exponent overflow is ignored in add, sub, mult and div operation by @tompng in #367
- Fix dump/load bigdecimal with few or large precs by @tompng in #362
- Refactor AddExponent overflow/underflow check by @tompng in #368
- Strict BigDecimal("0.1e#{exponent}") exponent overflow/underflow check by @tompng in #369
- Add DECDIG=16bit CI workflow by @tompng in #370
- Fix wrong multiplying BASE_FIG in precision calculation by @tompng in #372
- Remove debug print by @tompng in #375
- Remove unused #define macros by @tompng in #376
- VpDivd bugfix by @tompng in #374
- Fix VpDivd to fully use quotient array by @tompng in #377
- Add RB_GC_GUARD to test-only methods by @tompng in #378
- Use minimum necessary division precision in BigDecimal_DoDivmod by @tompng in #371
- Remove dead code and ineffective optimization path form VpDivd by @tompng in #379
- Implement exp, log, power and ** in ruby by @tompng in #347
- Remove unused "# define" macros by @tompng in #382
- Bump step-security/harden-runner from 2.12.2 to 2.13.0 by @dependabot[bot] in #383
- VpFormatSt O(n^2) to O(n) by @tompng in #384
- Ignore ndigits passed to BigDecimal(string, ndigits) by @tompng in #385
- Better error message for negative**intinite and zero-converge case fix by @tompng in #386
- Refactor truncate floor and ceil duplicated part by @tompng in #387
- Fix exp log power to raise "Computation results in Infinity/NaN" in EXCEPTION_INFINITY/EXCEPTION_NaN mode by @tompng in #389
- Reduce guard obj by @tompng in #390
- Remove ENTER and GUARD_OBJ macro by @tompng in #391
- Coerce to bigdecimal refactor by @tompng in #392
- Coerce rational with the given prec in exp, log and power calculation by @tompng in #393
- Unify coerce prec calculation by @tompng in #394
- Use bool instead of Qtrue/Qfalse for normal c boolish value by @tompng in #395
- Fix adjusting x to 0.3..3 in log calculation by @tompng in #397
- missing.h cleanup by @tompng in #396
- Hide internal method of BigMath into BigDecimal::Internal by @tompng in #400
- Remove gc_compaction test by @tompng in #401
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #402
- Fix VpMult result size calculation by @tompng in #403
- Fix GetAddSubPrec calculation by @tompng in #406
- Fix PrecLimit not restored on exception by @tompng in #405
- Fix div,modulo,remainder and divmod precision when prec limit is specified by @tompng in #408
- Fix x.fix and x.frac affected by prec limit, Stop -x and x.abs round with prec limit by @tompng in #409
- Don't use ZeroWrapLimited. Use unlimited version instead. by @tompng in #410
- Fix
x / yprecision when prec limit is huge by @tompng in #412 - Calculate exp, log, pow with the given prec even if prec limit is set by @tompng in #411
- Simplify to_i logic by @tompng in #413
- Add BigMath::E and BigMath::PI precision test by @tompng in #414
- Rewrite BigDecimal#sqrt in ruby with improved Newton's method by @tompng in #381
- Update bigdecimal version used in benchmark from 3.0.0 to 3.1.1 by @tompng in #416
- Implement BigDecimal#_decimal_shift for internal use by @tompng in #324
- In JRuby, don't add sqrt, exp, log, power implemented in ruby by @tompng in #417
- Add JRuby minimum ci by @tompng in #418
- Bump version to 3.2.3 by @tompng in #419
New Contributors
Full Changelog: v3.2.2...v3.2.3
v3.2.2
What's Changed
Full Changelog: v3.2.1...v3.2.2
v3.2.1
v3.2.0
What's Changed
- Fix spec NoMethodError message for .allocator on truffle Ruby by @mrzasa in #313
- Remove outdated BigMath.atan document that refers to convergence by @tompng in #318
- Add a precision assertion to BigMath test by @tompng in #316
- Use
Ractor#valueasRactor#takeis removed by @ko1 in #327 - Indent multiline call-seq comment by @tompng in #311
- Integrate BigDecimal_div and BigDecimal_div2 by @tompng in #329
- Fix division rounding by @tompng in #330
New Contributors
Full Changelog: v3.1.9...v3.2.0
v3.1.8
What's Changed
- Restore TruffleRuby on CI by @andrykonchin in #292
- Fix memory leak in VpAlloc by exception by @mrkn in #294
- Add missing documents by @nobu in #277
- Provide a 'Changelog' link on rubygems.org/gems/bigdecimal by @mark-young-atg in #281
New Contributors
- @andrykonchin made their first contribution in #292
- @mark-young-atg made their first contribution in #281
Full Changelog: v3.1.7...v3.1.8
v3.1.7
What's Changed
- Use macos-arm-oss and latest versions for test and benchmark CI by @hsbt in #285
- Support Ruby 3.4's new error message format by @mame in #286
- Rename
rake specwithrake testin documentation by @rhannequin in #287
New Contributors
- @mame made their first contribution in #286
- @rhannequin made their first contribution in #287
Full Changelog: v3.1.6...v3.1.7
v3.1.6
What's Changed
- Correctly computing loop iterations in
BigDecimal#sqrtby @z2-2z in #280 - Workaround for test-bundled-gems at ruby/ruby repo by @hsbt in #283
- Add LICENSE file to gem files by @oleksii-leonov in #282
- Refine test code related unsupported Ruby version by @hsbt in #284
New Contributors
- @z2-2z made their first contribution in #280
- @oleksii-leonov made their first contribution in #282
Full Changelog: v3.1.5...v3.1.6
v3.1.5
What's Changed
- Update test libraries from ruby/ruby 2023-03-24 by @hsbt in #260
- Remove set but unused variable by @nobu in #261
- fix: typo in document comments of
f_BigDecimalfunction by @honood in #259 - Add .to_s('F') digit grouping for integer part by @cryptogopher in #264
- Remove TruffleRuby from CI by @hsbt in #266
- Bump actions/checkout from 3 to 4 by @dependabot in #267
- Use test-unit-ruby-core gem by @hsbt in #269
- Bump up to 3.1.5 by @nobu in #265
- Update doc for bigdecimal/util by @koic in #274
- fixed docs for .scale by @krtschmr in #273
- [DOC] Add section Methods for Working with JSON by @BurdetteLamar in #275
- Clarify that JSON methods come from the JSON gem by @peterzhu2118 in #278
New Contributors
- @honood made their first contribution in #259
- @cryptogopher made their first contribution in #264
- @krtschmr made their first contribution in #273
Full Changelog: v3.1.4...v3.1.5