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