Skip to content

Releases: ruby/bigdecimal

v4.0.1

17 Dec 16:51
6d01c36

Choose a tag to compare

What's Changed

  • Exclude dependabot updates from release note by @hsbt in #474
  • Remove unused variable (and add test for it) by @tompng in #475
  • Remove "Which version should you select" section by @tompng in #476
  • Bump version to v4.0.1 by @tompng in #477

Full Changelog: v4.0.0...v4.0.1

v4.0.0

16 Dec 13:53
d9914c9

Choose a tag to compare

What's Changed

  • Fix x**y, x.power(y, 0) and x.sqrt(0) calculates huge digits if precision limit is huge by @tompng in #445
  • Implement major math functions by @tompng in #336
  • Fix fast-path of frac and _decimal_shift affected by BigDecimal.limit by @tompng in #447
  • Update the latest versions of actions by @hsbt in #449
  • Add missing bigmath precision test, add missing indent by @tompng in #450
  • Make BigMath.exp and log also a module_method by @tompng in #452
  • Fix incorrect exception when exponent is fractional for Infinity base by @troy-dunamu in #453
  • Bump step-security/harden-runner from 2.13.1 to 2.13.2 by @dependabot[bot] in #454
  • Don't use assert_separatly if not needed by @tompng in #455
  • Bump actions/checkout from 5.0.0 to 6.0.0 by @dependabot[bot] in #456
  • Bump actions/checkout from 5.0.1 to 6.0.0 by @dependabot[bot] in #457
  • Add missing BigMath test for jruby by @tompng in #459
  • Change remainder/modulo/divmod test of +0/-0 type tolerant by @tompng in #460
  • Cast divmod quotient to int by @mrzasa in #312
  • Bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #462
  • Bump step-security/harden-runner from 2.13.2 to 2.13.3 by @dependabot[bot] in #461
  • Implement BigMath.erf(x, prec) and BigMath.erfc(x, prec) by @tompng in #357
  • Implement BigMath.gamma and BigMath.lgamma by @tompng in #451
  • Fix typos + improve copy/paste in readme by @tas50 in #463
  • Fix inaccurate calculation (last digit) and add a workaround for add/sub hang bug by @tompng in #465
  • Fix lgamma precision around 1 and 2 by @tompng in #466
  • Fix lgamma precision when gamma(negative_x).abs nearly equals 1 by @tompng in #467
  • Implement BigMath.frexp and ldexp with exponent of 10 by @tompng in #448
  • Bump step-security/harden-runner from 2.13.3 to 2.14.0 by @dependabot[bot] in #468
  • Better rounding of BigMath.atan(nearly_one, prec) by @tompng in #469
  • Remove deprecated method BigDecimal#precs by @tompng in #470
  • Deprecate ludcmp, jacobian and newton by @tompng in #471
  • Bump version to v4.0.0 by @tompng in #472

New Contributors

Full Changelog: v3.3.1...v4.0.0

v3.3.1

09 Oct 16:40
2d932f4

Choose a tag to compare

What's Changed

  • Fix modulo/remainder of negative zero by @tompng in #441
  • Unify all precision validation to be consistent with BigDecimal#add by @tompng in #442
  • Bump version to 3.3.1 by @tompng in #443

Full Changelog: v3.3.0...v3.3.1

v3.3.0

07 Oct 12:30
0aa97bb

Choose a tag to compare

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

03 Sep 12:28
dd7738c

Choose a tag to compare

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 / y precision 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

04 Jun 14:41

Choose a tag to compare

What's Changed

  • Make precision calculation in bigdecimal.div(value, 0) gc-compaction safe by @tompng in #339

Full Changelog: v3.2.1...v3.2.2

v3.2.1

31 May 05:34

Choose a tag to compare

What's Changed

  • Enabled trusted publisher for rubygems.org by @hsbt in #333
  • Fix division precision limit by @tompng in #335

Full Changelog: v3.2.0...v3.2.1

v3.2.0

29 May 15:37
b5611d7

Choose a tag to compare

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#value as Ractor#take is 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

07 May 04:58
ae3915b

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.1.7...v3.1.8

v3.1.7

14 Mar 07:27
cbb5369

Choose a tag to compare

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 spec with rake test in documentation by @rhannequin in #287

New Contributors

Full Changelog: v3.1.6...v3.1.7