cloudsmith-api 2.0.33 → 2.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +4 -4
  4. data/build.json +1 -1
  5. data/lib/cloudsmith-api/models/go_upstream.rb +2 -2
  6. data/lib/cloudsmith-api/models/go_upstream_request.rb +2 -2
  7. data/lib/cloudsmith-api/models/go_upstream_request_patch.rb +2 -2
  8. data/lib/cloudsmith-api/models/ruby_upstream.rb +2 -2
  9. data/lib/cloudsmith-api/models/ruby_upstream_request.rb +2 -2
  10. data/lib/cloudsmith-api/models/ruby_upstream_request_patch.rb +2 -2
  11. data/lib/cloudsmith-api/version.rb +1 -1
  12. data/spec/models/go_upstream_request_patch_spec.rb +1 -1
  13. data/spec/models/go_upstream_request_spec.rb +1 -1
  14. data/spec/models/go_upstream_spec.rb +1 -1
  15. data/spec/models/ruby_upstream_request_patch_spec.rb +1 -1
  16. data/spec/models/ruby_upstream_request_spec.rb +1 -1
  17. data/spec/models/ruby_upstream_spec.rb +1 -1
  18. data/vendor/bundle/ruby/2.6.0/cache/bigdecimal-4.1.3.gem +0 -0
  19. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.2/gem_make.out +1 -1
  20. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.3/bigdecimal.so +0 -0
  21. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/gem_make.out +97 -84
  22. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/mkmf.log +8 -8
  23. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/gem_make.out +2 -2
  24. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/mkmf.log +1 -1
  25. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/gem_make.out +2 -2
  26. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/mkmf.log +1 -1
  27. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/bigdecimal.gemspec +2 -0
  28. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/Makefile +2 -2
  29. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/bigdecimal.c +26 -10
  30. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/bigdecimal.h +5 -5
  31. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/bigdecimal.o +0 -0
  32. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/bigdecimal.so +0 -0
  33. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/div.h +61 -34
  34. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/missing.o +0 -0
  35. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/math/erf.rb +291 -0
  36. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/math/gamma.rb +513 -0
  37. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/lib/bigdecimal/math.rb +8 -219
  38. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal.so +0 -0
  39. data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/sig/big_decimal.rbs +3 -1
  40. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Makefile +2 -2
  41. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/generator/Makefile +2 -2
  42. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/parser/Makefile +2 -2
  43. data/vendor/bundle/ruby/2.6.0/specifications/{bigdecimal-4.1.2.gemspec → bigdecimal-4.1.3.gemspec} +2 -2
  44. metadata +41 -39
  45. data/vendor/bundle/ruby/2.6.0/cache/bigdecimal-4.1.2.gem +0 -0
  46. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/bigdecimal.so +0 -0
  47. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.o +0 -0
  48. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.so +0 -0
  49. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal.so +0 -0
  50. /data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/gem.build_complete +0 -0
  51. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/LICENSE +0 -0
  52. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/.sitearchdir.time +0 -0
  53. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/bits.h +0 -0
  54. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/extconf.rb +0 -0
  55. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/feature.h +0 -0
  56. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/missing/dtoa.c +0 -0
  57. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/missing.c +0 -0
  58. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/missing.h +0 -0
  59. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/ntt.h +0 -0
  60. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/ext/bigdecimal/static_assert.h +0 -0
  61. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/lib/bigdecimal/jacobian.rb +0 -0
  62. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/lib/bigdecimal/ludcmp.rb +0 -0
  63. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/lib/bigdecimal/newton.rb +0 -0
  64. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/lib/bigdecimal/util.rb +0 -0
  65. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/lib/bigdecimal.rb +0 -0
  66. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/sample/linear.rb +0 -0
  67. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/sample/nlsolve.rb +0 -0
  68. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/sample/pi.rb +0 -0
  69. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/sig/big_decimal_util.rbs +0 -0
  70. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.1.2 → bigdecimal-4.1.3}/sig/big_math.rbs +0 -0
@@ -596,28 +596,8 @@ module BigMath
596
596
  # #=> "0.84270079294971486934122063508261e0"
597
597
  #
598
598
  def erf(x, prec)
599
- prec = BigDecimal::Internal.coerce_validate_prec(prec, :erf)
600
- x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :erf)
601
- return BigDecimal::Internal.nan_computation_result if x.nan?
602
- return BigDecimal(x.infinite?) if x.infinite?
603
- return BigDecimal(0) if x == 0
604
- return -erf(-x, prec) if x < 0
605
- return BigDecimal(1) if x > 5000000000 # erf(5000000000) > 1 - 1e-10000000000000000000
606
-
607
- if x > 8
608
- xf = x.to_f
609
- log10_erfc = -xf ** 2 / Math.log(10) - Math.log10(xf * Math::PI ** 0.5)
610
- erfc_prec = [prec + log10_erfc.ceil, 1].max
611
- erfc = _erfc_asymptotic(x, erfc_prec)
612
- return BigDecimal(1).sub(erfc, prec) if erfc
613
- end
614
-
615
- prec2 = prec + BigDecimal::Internal::EXTRA_PREC
616
- x_smallprec = x.mult(1, Integer.sqrt(prec2) / 2)
617
- # Taylor series of x with small precision is fast
618
- erf1 = _erf_taylor(x_smallprec, BigDecimal(0), BigDecimal(0), prec2)
619
- # Taylor series converges quickly for small x
620
- _erf_taylor(x - x_smallprec, x_smallprec, erf1, prec2).mult(1, prec)
599
+ require 'bigdecimal/math/erf'
600
+ Erf.erf(x, prec)
621
601
  end
622
602
 
623
603
  # call-seq:
@@ -632,87 +612,8 @@ module BigMath
632
612
  # #=> "0.20884875837625447570007862949578e-44"
633
613
  #
634
614
  def erfc(x, prec)
635
- prec = BigDecimal::Internal.coerce_validate_prec(prec, :erfc)
636
- x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :erfc)
637
- return BigDecimal::Internal.nan_computation_result if x.nan?
638
- return BigDecimal(1 - x.infinite?) if x.infinite?
639
- return BigDecimal(1).sub(erf(x, prec + BigDecimal::Internal::EXTRA_PREC), prec) if x < 0.5
640
- return BigDecimal::Internal.underflow_computation_result if x > 5000000000 # erfc(5000000000) < 1e-10000000000000000000 (underflow)
641
-
642
- if x >= 8
643
- y = _erfc_asymptotic(x, prec)
644
- return y.mult(1, prec) if y
645
- end
646
-
647
- # erfc(x) = 1 - erf(x) < exp(-x**2)/x/sqrt(pi)
648
- # Precision of erf(x) needs about log10(exp(-x**2)/x/sqrt(pi)) extra digits
649
- log10 = 2.302585092994046
650
- xf = x.to_f
651
- high_prec = prec + BigDecimal::Internal::EXTRA_PREC + ((xf**2 + Math.log(xf) + Math.log(Math::PI)/2) / log10).ceil
652
- BigDecimal(1).sub(erf(x, high_prec), prec)
653
- end
654
-
655
- # Calculates erf(x + a)
656
- private_class_method def _erf_taylor(x, a, erf_a, prec) # :nodoc:
657
- return erf_a if x.zero?
658
- # Let f(x+a) = erf(x+a)*exp((x+a)**2)*sqrt(pi)/2
659
- # = c0 + c1*x + c2*x**2 + c3*x**3 + c4*x**4 + ...
660
- # f'(x+a) = 1+2*(x+a)*f(x+a)
661
- # f'(x+a) = c1 + 2*c2*x + 3*c3*x**2 + 4*c4*x**3 + 5*c5*x**4 + ...
662
- # = 1+2*(x+a)*(c0 + c1*x + c2*x**2 + c3*x**3 + c4*x**4 + ...)
663
- # therefore,
664
- # c0 = f(a)
665
- # c1 = 2 * a * c0 + 1
666
- # c2 = (2 * c0 + 2 * a * c1) / 2
667
- # c3 = (2 * c1 + 2 * a * c2) / 3
668
- # c4 = (2 * c2 + 2 * a * c3) / 4
669
- #
670
- # All coefficients are positive when a >= 0
671
-
672
- scale = BigDecimal(2).div(sqrt(PI(prec), prec), prec)
673
- c_prev = erf_a.div(scale.mult(exp(-a*a, prec), prec), prec)
674
- c_next = (2 * a * c_prev).add(1, prec).mult(x, prec)
675
- sum = c_prev.add(c_next, prec)
676
-
677
- 2.step do |k|
678
- cn = (c_prev.mult(x, prec) + a * c_next).mult(2, prec).mult(x, prec).div(k, prec)
679
- sum = sum.add(cn, prec)
680
- c_prev, c_next = c_next, cn
681
- break if [c_prev, c_next].all? { |c| c.zero? || (c.exponent < sum.exponent - prec) }
682
- end
683
- value = sum.mult(scale.mult(exp(-(x + a).mult(x + a, prec), prec), prec), prec)
684
- value > 1 ? BigDecimal(1) : value
685
- end
686
-
687
- private_class_method def _erfc_asymptotic(x, prec) # :nodoc:
688
- # Let f(x) = erfc(x)*sqrt(pi)*exp(x**2)/2
689
- # f(x) satisfies the following differential equation:
690
- # 2*x*f(x) = f'(x) + 1
691
- # From the above equation, we can derive the following asymptotic expansion:
692
- # f(x) = (0..kmax).sum { (-1)**k * (2*k)! / 4**k / k! / x**(2*k)) } / x
693
-
694
- # This asymptotic expansion does not converge.
695
- # But if there is a k that satisfies (2*k)! / 4**k / k! / x**(2*k) < 10**(-prec),
696
- # It is enough to calculate erfc within the given precision.
697
- # Using Stirling's approximation, we can simplify this condition to:
698
- # sqrt(2)/2 + k*log(k) - k - 2*k*log(x) < -prec*log(10)
699
- # and the left side is minimized when k = x**2.
700
- prec += BigDecimal::Internal::EXTRA_PREC
701
- xf = x.to_f
702
- kmax = (1..(xf ** 2).floor).bsearch do |k|
703
- Math.log(2) / 2 + k * Math.log(k) - k - 2 * k * Math.log(xf) < -prec * Math.log(10)
704
- end
705
- return unless kmax
706
-
707
- sum = BigDecimal(1)
708
- # To calculate `exp(x2, prec)`, x2 needs extra log10(x**2) digits of precision
709
- x2 = x.mult(x, prec + (2 * Math.log10(xf)).ceil)
710
- d = BigDecimal(1)
711
- (1..kmax).each do |k|
712
- d = d.div(x2, prec).mult(1 - 2 * k, prec).div(2, prec)
713
- sum = sum.add(d, prec)
714
- end
715
- sum.div(exp(x2, prec).mult(PI(prec).sqrt(prec), prec), prec).div(x, prec)
615
+ require 'bigdecimal/math/erf'
616
+ Erf.erfc(x, prec)
716
617
  end
717
618
 
718
619
  # call-seq:
@@ -725,22 +626,8 @@ module BigMath
725
626
  # #=> "0.17724538509055160272981674833411e1"
726
627
  #
727
628
  def gamma(x, prec)
728
- prec = BigDecimal::Internal.coerce_validate_prec(prec, :gamma)
729
- x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :gamma)
730
- prec2 = prec + BigDecimal::Internal::EXTRA_PREC
731
- if x < 0.5
732
- raise Math::DomainError, 'Numerical argument is out of domain - gamma' if x.frac.zero?
733
-
734
- # Euler's reflection formula: gamma(z) * gamma(1-z) = pi/sin(pi*z)
735
- pi = PI(prec2)
736
- sin = _sinpix(x, pi, prec2)
737
- return pi.div(gamma(1 - x, prec2).mult(sin, prec2), prec)
738
- elsif x.frac.zero? && x < 1000 * prec
739
- return _gamma_positive_integer(x, prec2).mult(1, prec)
740
- end
741
-
742
- a, sum = _gamma_spouge_sum_part(x, prec2)
743
- (x + (a - 1)).power(x - 0.5, prec2).mult(BigMath.exp(1 - x, prec2), prec2).mult(sum, prec)
629
+ require 'bigdecimal/math/gamma'
630
+ Gamma.gamma(x, prec)
744
631
  end
745
632
 
746
633
  # call-seq:
@@ -753,106 +640,8 @@ module BigMath
753
640
  # #=> [0.57236494292470008707171367567653e0, 1]
754
641
  #
755
642
  def lgamma(x, prec)
756
- prec = BigDecimal::Internal.coerce_validate_prec(prec, :lgamma)
757
- x = BigDecimal::Internal.coerce_to_bigdecimal(x, prec, :lgamma)
758
- prec2 = prec + BigDecimal::Internal::EXTRA_PREC
759
- if x < 0.5
760
- return [BigDecimal::INFINITY, 1] if x.frac.zero?
761
-
762
- loop do
763
- # Euler's reflection formula: gamma(z) * gamma(1-z) = pi/sin(pi*z)
764
- pi = PI(prec2)
765
- sin = _sinpix(x, pi, prec2)
766
- log_gamma = BigMath.log(pi, prec2).sub(lgamma(1 - x, prec2).first + BigMath.log(sin.abs, prec2), prec)
767
- return [log_gamma, sin > 0 ? 1 : -1] if prec2 + log_gamma.exponent > prec + BigDecimal::Internal::EXTRA_PREC
768
-
769
- # Retry with higher precision if loss of significance is too large
770
- prec2 = prec2 * 3 / 2
771
- end
772
- elsif x.frac.zero? && x < 1000 * prec
773
- log_gamma = BigMath.log(_gamma_positive_integer(x, prec2), prec)
774
- [log_gamma, 1]
775
- else
776
- # if x is close to 1 or 2, increase precision to reduce loss of significance
777
- diff1_exponent = (x - 1).exponent
778
- diff2_exponent = (x - 2).exponent
779
- extremely_near_one = diff1_exponent < -prec2
780
- extremely_near_two = diff2_exponent < -prec2
781
-
782
- if extremely_near_one || extremely_near_two
783
- # If x is extreamely close to base = 1 or 2, linear interpolation is accurate enough.
784
- # Taylor expansion at x = base is: (x - base) * digamma(base) + (x - base) ** 2 * trigamma(base) / 2 + ...
785
- # And we can ignore (x - base) ** 2 and higher order terms.
786
- base = extremely_near_one ? 1 : 2
787
- d = BigDecimal(1)._decimal_shift(1 - prec2)
788
- log_gamma_d, sign = lgamma(base + d, prec2)
789
- return [log_gamma_d.mult(x - base, prec2).div(d, prec), sign]
790
- end
791
-
792
- prec2 += [-diff1_exponent, -diff2_exponent, 0].max
793
- a, sum = _gamma_spouge_sum_part(x, prec2)
794
- log_gamma = BigMath.log(sum, prec2).add((x - 0.5).mult(BigMath.log(x.add(a - 1, prec2), prec2), prec2) + 1 - x, prec)
795
- [log_gamma, 1]
796
- end
797
- end
798
-
799
- # Returns sum part: sqrt(2*pi) and c[k]/(x+k) terms of Spouge's approximation
800
- private_class_method def _gamma_spouge_sum_part(x, prec) # :nodoc:
801
- x -= 1
802
- # Spouge's approximation
803
- # x! = (x + a)**(x + 0.5) * exp(-x - a) * (sqrt(2 * pi) + (1..a - 1).sum{|k| c[k] / (x + k) } + epsilon)
804
- # where c[k] = (-1)**k * (a - k)**(k - 0.5) * exp(a - k) / (k - 1)!
805
- # and epsilon is bounded by a**(-0.5) * (2 * pi) ** (-a - 0.5)
806
-
807
- # Estimate required a for given precision
808
- a = (prec / Math.log10(2 * Math::PI)).ceil
809
-
810
- # Calculate exponent of c[k] in low precision to estimate required precision
811
- low_prec = 16
812
- log10f = Math.log(10)
813
- x_low_prec = x.mult(1, low_prec)
814
- loggamma_k = 0
815
- ck_exponents = (1..a-1).map do |k|
816
- loggamma_k += Math.log10(k - 1) if k > 1
817
- -loggamma_k - k / log10f + (k - 0.5) * Math.log10(a - k) - BigDecimal::Internal.float_log(x_low_prec.add(k, low_prec)) / log10f
818
- end
819
-
820
- # Estimate exponent of sum by Stirling's approximation
821
- approx_sum_exponent = x < 1 ? -Math.log10(a) / 2 : Math.log10(2 * Math::PI) / 2 + x_low_prec.add(0.5, low_prec) * Math.log10(x_low_prec / x_low_prec.add(a, low_prec))
822
-
823
- # Determine required precision of c[k]
824
- prec2 = [ck_exponents.max.ceil - approx_sum_exponent.floor, 0].max + prec
825
-
826
- einv = BigMath.exp(-1, prec2)
827
- sum = (PI(prec) * 2).sqrt(prec).mult(BigMath.exp(-a, prec), prec)
828
- y = BigDecimal(1)
829
- (1..a - 1).each do |k|
830
- # c[k] = (-1)**k * (a - k)**(k - 0.5) * exp(-k) / (k-1)! / (x + k)
831
- y = y.div(1 - k, prec2) if k > 1
832
- y = y.mult(einv, prec2)
833
- z = y.mult(BigDecimal((a - k) ** k), prec2).div(BigDecimal(a - k).sqrt(prec2).mult(x.add(k, prec2), prec2), prec2)
834
- # sum += c[k] / (x + k)
835
- sum = sum.add(z, prec2)
836
- end
837
- [a, sum]
838
- end
839
-
840
- private_class_method def _gamma_positive_integer(x, prec) # :nodoc:
841
- return x if x == 1
842
- numbers = (1..x - 1).map {|i| BigDecimal(i) }
843
- while numbers.size > 1
844
- numbers = numbers.each_slice(2).map {|a, b| b ? a.mult(b, prec) : a }
845
- end
846
- numbers.first
847
- end
848
-
849
- # Returns sin(pi * x), for gamma reflection formula calculation
850
- private_class_method def _sinpix(x, pi, prec) # :nodoc:
851
- x = x % 2
852
- sign = x > 1 ? -1 : 1
853
- x %= 1
854
- x = 1 - x if x > 0.5 # to avoid sin(pi*x) loss of precision for x close to 1
855
- sign * sin(x.mult(pi, prec), prec)
643
+ require 'bigdecimal/math/gamma'
644
+ Gamma.lgamma(x, prec)
856
645
  end
857
646
 
858
647
  # call-seq:
@@ -1237,7 +1237,9 @@ module Kernel
1237
1237
  # Raises an exception if `value` evaluates to a Float and `digits` is larger
1238
1238
  # than Float::DIG + 1.
1239
1239
  #
1240
- def self?.BigDecimal: (real | string | BigDecimal initial, ?int digits, ?exception: bool) -> BigDecimal
1240
+ def self?.BigDecimal: (real | string | BigDecimal initial, ?int digits, ?exception: true) -> BigDecimal
1241
+ | (real | string | BigDecimal initial, ?int digits, exception: bool) -> BigDecimal?
1242
+ | (untyped initial, ?untyped digits, ?exception: bool) -> BigDecimal?
1241
1243
  end
1242
1244
 
1243
1245
  %a{annotate:rdoc:skip}
@@ -31,8 +31,8 @@ rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
31
31
  vendorarchdir = $(vendorlibdir)/$(sitearch)
32
32
  vendorlibdir = $(vendordir)/$(ruby_version)
33
33
  vendordir = $(rubylibprefix)/vendor_ruby
34
- sitearchdir = $(DESTDIR)./.gem.20260909-866-1a8dagz
35
- sitelibdir = $(DESTDIR)./.gem.20260909-866-1a8dagz
34
+ sitearchdir = $(DESTDIR)./.gem.20261002-867-bhu80v
35
+ sitelibdir = $(DESTDIR)./.gem.20261002-867-bhu80v
36
36
  sitedir = $(rubylibprefix)/site_ruby
37
37
  rubyarchdir = $(rubylibdir)/$(arch)
38
38
  rubylibdir = $(rubylibprefix)/$(ruby_version)
@@ -31,8 +31,8 @@ rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
31
31
  vendorarchdir = $(vendorlibdir)/$(sitearch)
32
32
  vendorlibdir = $(vendordir)/$(ruby_version)
33
33
  vendordir = $(rubylibprefix)/vendor_ruby
34
- sitearchdir = $(DESTDIR)./.gem.20260909-866-9noaus
35
- sitelibdir = $(DESTDIR)./.gem.20260909-866-9noaus
34
+ sitearchdir = $(DESTDIR)./.gem.20261002-867-1v374gt
35
+ sitelibdir = $(DESTDIR)./.gem.20261002-867-1v374gt
36
36
  sitedir = $(rubylibprefix)/site_ruby
37
37
  rubyarchdir = $(rubylibdir)/$(arch)
38
38
  rubylibdir = $(rubylibprefix)/$(ruby_version)
@@ -31,8 +31,8 @@ rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
31
31
  vendorarchdir = $(vendorlibdir)/$(sitearch)
32
32
  vendorlibdir = $(vendordir)/$(ruby_version)
33
33
  vendordir = $(rubylibprefix)/vendor_ruby
34
- sitearchdir = $(DESTDIR)./.gem.20260909-866-6v055o
35
- sitelibdir = $(DESTDIR)./.gem.20260909-866-6v055o
34
+ sitearchdir = $(DESTDIR)./.gem.20261002-867-1inpjdu
35
+ sitelibdir = $(DESTDIR)./.gem.20261002-867-1inpjdu
36
36
  sitedir = $(rubylibprefix)/site_ruby
37
37
  rubyarchdir = $(rubylibdir)/$(arch)
38
38
  rubylibdir = $(rubylibprefix)/$(ruby_version)
@@ -1,10 +1,10 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: bigdecimal 4.1.2 ruby lib
2
+ # stub: bigdecimal 4.1.3 ruby lib
3
3
  # stub: ext/bigdecimal/extconf.rb
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "bigdecimal".freeze
7
- s.version = "4.1.2"
7
+ s.version = "4.1.3"
8
8
 
9
9
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
10
10
  s.metadata = { "changelog_uri" => "https://github.com/ruby/bigdecimal/blob/master/CHANGES.md" } if s.respond_to? :metadata=
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudsmith-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.33
4
+ version: 2.0.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cloudsmith Ltd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-09 00:00:00.000000000 Z
11
+ date: 2026-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -1290,7 +1290,7 @@ files:
1290
1290
  - vendor/bundle/ruby/2.6.0/cache/autotest-fsevent-0.3.2.gem
1291
1291
  - vendor/bundle/ruby/2.6.0/cache/autotest-growl-0.2.16.gem
1292
1292
  - vendor/bundle/ruby/2.6.0/cache/autotest-rails-pure-4.1.2.gem
1293
- - vendor/bundle/ruby/2.6.0/cache/bigdecimal-4.1.2.gem
1293
+ - vendor/bundle/ruby/2.6.0/cache/bigdecimal-4.1.3.gem
1294
1294
  - vendor/bundle/ruby/2.6.0/cache/crack-1.0.1.gem
1295
1295
  - vendor/bundle/ruby/2.6.0/cache/diff-lcs-1.6.2.gem
1296
1296
  - vendor/bundle/ruby/2.6.0/cache/ethon-0.18.0.gem
@@ -1313,10 +1313,10 @@ files:
1313
1313
  - vendor/bundle/ruby/2.6.0/cache/webmock-1.24.6.gem
1314
1314
  - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.2/gem.build_complete
1315
1315
  - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.2/gem_make.out
1316
- - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/bigdecimal.so
1317
- - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/gem.build_complete
1318
- - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/gem_make.out
1319
- - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/mkmf.log
1316
+ - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.3/bigdecimal.so
1317
+ - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.3/gem.build_complete
1318
+ - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.3/gem_make.out
1319
+ - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.3/mkmf.log
1320
1320
  - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/ffi_c.so
1321
1321
  - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/gem.build_complete
1322
1322
  - vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/gem_make.out
@@ -1419,37 +1419,39 @@ files:
1419
1419
  - vendor/bundle/ruby/2.6.0/gems/autotest-rails-pure-4.1.2/lib/autotest/migrate.rb
1420
1420
  - vendor/bundle/ruby/2.6.0/gems/autotest-rails-pure-4.1.2/lib/autotest/rails.rb
1421
1421
  - vendor/bundle/ruby/2.6.0/gems/autotest-rails-pure-4.1.2/test/rails_test.rb
1422
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/LICENSE
1423
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/bigdecimal.gemspec
1424
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/.sitearchdir.time
1425
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/Makefile
1426
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.c
1427
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.h
1428
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.o
1429
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.so
1430
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bits.h
1431
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/div.h
1432
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/extconf.rb
1433
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/feature.h
1434
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing.c
1435
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing.h
1436
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing.o
1437
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing/dtoa.c
1438
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/ntt.h
1439
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/static_assert.h
1440
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal.rb
1441
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal.so
1442
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal/jacobian.rb
1443
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal/ludcmp.rb
1444
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal/math.rb
1445
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal/newton.rb
1446
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal/util.rb
1447
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sample/linear.rb
1448
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sample/nlsolve.rb
1449
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sample/pi.rb
1450
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sig/big_decimal.rbs
1451
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sig/big_decimal_util.rbs
1452
- - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sig/big_math.rbs
1422
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/LICENSE
1423
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/bigdecimal.gemspec
1424
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/.sitearchdir.time
1425
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/Makefile
1426
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/bigdecimal.c
1427
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/bigdecimal.h
1428
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/bigdecimal.o
1429
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/bigdecimal.so
1430
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/bits.h
1431
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/div.h
1432
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/extconf.rb
1433
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/feature.h
1434
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/missing.c
1435
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/missing.h
1436
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/missing.o
1437
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/missing/dtoa.c
1438
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/ntt.h
1439
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/static_assert.h
1440
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal.rb
1441
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal.so
1442
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/jacobian.rb
1443
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/ludcmp.rb
1444
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/math.rb
1445
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/math/erf.rb
1446
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/math/gamma.rb
1447
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/newton.rb
1448
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/lib/bigdecimal/util.rb
1449
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/sample/linear.rb
1450
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/sample/nlsolve.rb
1451
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/sample/pi.rb
1452
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/sig/big_decimal.rbs
1453
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/sig/big_decimal_util.rbs
1454
+ - vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/sig/big_math.rbs
1453
1455
  - vendor/bundle/ruby/2.6.0/gems/crack-1.0.1/History
1454
1456
  - vendor/bundle/ruby/2.6.0/gems/crack-1.0.1/LICENSE
1455
1457
  - vendor/bundle/ruby/2.6.0/gems/crack-1.0.1/README.md
@@ -2866,7 +2868,7 @@ files:
2866
2868
  - vendor/bundle/ruby/2.6.0/specifications/autotest-fsevent-0.3.2.gemspec
2867
2869
  - vendor/bundle/ruby/2.6.0/specifications/autotest-growl-0.2.16.gemspec
2868
2870
  - vendor/bundle/ruby/2.6.0/specifications/autotest-rails-pure-4.1.2.gemspec
2869
- - vendor/bundle/ruby/2.6.0/specifications/bigdecimal-4.1.2.gemspec
2871
+ - vendor/bundle/ruby/2.6.0/specifications/bigdecimal-4.1.3.gemspec
2870
2872
  - vendor/bundle/ruby/2.6.0/specifications/crack-1.0.1.gemspec
2871
2873
  - vendor/bundle/ruby/2.6.0/specifications/diff-lcs-1.6.2.gemspec
2872
2874
  - vendor/bundle/ruby/2.6.0/specifications/ethon-0.18.0.gemspec