bigdecimal-math_r 0.2.4 → 0.2.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4dd9842a0a845cf239eb182287ed671db8dfd738baec0049a984c912a1c02372
4
- data.tar.gz: 951fa298fcc884ee15de3a44de5afba3e6adb101aa7fd82978fc9a51be5fabf2
3
+ metadata.gz: b95587ca4276311022b70f43467ee93dd4dc91008b0c2b6209773fa44020d608
4
+ data.tar.gz: 0b0bbcc52b980817ae252104f4da298b80295f2513c8f2659141f4606456bb8b
5
5
  SHA512:
6
- metadata.gz: b5db98fbdd47c19d497f406545516170f9c08bb82c85e65ecc519a260b0b3fc907217380504f6b168216faff7675f18cc43335abb2e0a1f7b0cb73794f4bb830
7
- data.tar.gz: e9b886586aa56a0eeaf509cfc71207b00bbdc3d51bf47da80ebdc5b9932afeb63c62f2a8e54d0746b9d9fd549fa320ec916c88d8ba05685396e0015d7be509a7
6
+ metadata.gz: cc27d828aca7556dd0719f04794632ed8a6ed7d855a6bf840c4835e4b56eede56174f4b4f3a81cde94763231cd50306954e729687d41035d762a317ce1e222aa
7
+ data.tar.gz: 1ad28add251a800315f045a0057cfaf71949e060afa7bf2b2ecc244399df878c27607eaa9385a20b029d40aacd2426f03b47358a1d14c89d092f0d9c573d0c5e
data/changelog.md CHANGED
@@ -7,6 +7,30 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.6] - 2025-10-XX
11
+
12
+ ### Fix
13
+ - A some function's branch-cut set open-ended range
14
+ - BigMathR#asech invalid soltion
15
+ - `solver_triginv()` and `solver_hyperbinv` an error occurs when the value is a Complex with an imaginary part of 0.
16
+ - rcm2_edf(): type conversion error
17
+
18
+ ## [0.2.5] - 2025-10-XX
19
+
20
+ ### Fix
21
+ - Change require `./math_r.so` to `math_r`
22
+
23
+ ## [0.2.4] - 2025-10-XX
24
+
25
+ ### Fix
26
+ - Delete `BigMathR.EulerGamma`
27
+ - Delete `BigMathR::Const::EulerGamma#borwein_bailey`
28
+
29
+ ## [0.2.3] - 2025-10-XX
30
+
31
+ ### Fix
32
+ - unload `math_r.so`.
33
+
10
34
  ## [0.2.2] - 2025-10-XX
11
35
 
12
36
  ### Changed
@@ -4,7 +4,7 @@ acos_branch(VALUE x, VALUE prec, bigmath_func1 acos_cb)
4
4
  const ID leq = rb_intern("<=");
5
5
  VALUE y = Qundef;
6
6
  VALUE p001 = rb_BigDecimal1(rb_str_new_cstr("0.001"));
7
- VALUE domain = rb_range_new(INT2FIX(0), INT2FIX(1), true);
7
+ VALUE domain = rb_range_new(INT2FIX(0), INT2FIX(1), false);
8
8
 
9
9
  x = rb_num_canonicalize(x, prec, ARG_REAL, ARG_RAWVALUE);
10
10
 
@@ -3,7 +3,7 @@ acsc_branch(VALUE x, VALUE prec, bigmath_func1 acsc_cb)
3
3
  {
4
4
  VALUE y = Qundef;
5
5
  VALUE p_domain = rb_range_new(INT2FIX(1), DBL2NUM(HUGE_VAL), false);
6
- VALUE m_domain = rb_range_new(DBL2NUM(-HUGE_VAL), INT2FIX(-1), true);
6
+ VALUE m_domain = rb_range_new(DBL2NUM(-HUGE_VAL), INT2FIX(-1), false);
7
7
 
8
8
  x = rb_num_canonicalize(x, prec, ARG_REAL, ARG_RAWVALUE);
9
9
 
@@ -2,7 +2,7 @@ VALUE
2
2
  asech_branch(VALUE x, VALUE prec, bigmath_func1 asech_cb)
3
3
  {
4
4
  VALUE y;
5
- VALUE domain = rb_range_new(INT2FIX(0), INT2FIX(1), true);
5
+ VALUE domain = rb_range_new(INT2FIX(0), INT2FIX(1), false);
6
6
 
7
7
  x = rb_num_canonicalize(x, prec, ARG_REAL, ARG_RAWVALUE);
8
8
 
@@ -11,13 +11,12 @@ asech_edom(VALUE x, VALUE prec)
11
11
  sqr = rb_funcall1(
12
12
  rb_funcall1(BIG_ONE, '-', absx), '/',
13
13
  rb_funcall1(absx, '+', BIG_ONE));
14
- w = rb_Complex(BIG_ZERO, rb_bigmath_sqrt(sqr, n));
14
+ w = rb_Complex(BIG_ZERO, rb_bigmath_sqrt(rb_num_uminus(sqr), n));
15
15
  w = rb_funcall1(w, '*', rb_funcall1(recip_x, '+', BIG_ONE));
16
16
  w = rb_funcall1(w, '+', recip_x);
17
17
  y = rb_bigmath_carg(w, n);
18
18
  if (rb_num_negative_p(x))
19
19
  y =rb_funcall1(rb_bigmath_const_pi(n), '-', y);
20
20
  y = rb_Complex(BIG_ZERO, y);
21
-
22
21
  return rb_num_round(y, prec);
23
22
  }
@@ -12,6 +12,5 @@ asech_logrep(VALUE x, VALUE prec)
12
12
  y = rb_funcall1(y, '+', BIG_ONE);
13
13
  y = rb_funcall1(y, '/', x);
14
14
  y = rb_bigmath_log(y, prec);
15
-
16
15
  return y;
17
16
  }
@@ -4,7 +4,7 @@ asin_branch(VALUE x, VALUE prec, bigmath_func1 asin_cb)
4
4
  const ID leq = rb_intern("<=");
5
5
  VALUE y = Qundef;
6
6
  VALUE p001 = rb_BigDecimal1(rb_str_new_cstr("0.001"));
7
- VALUE domain = rb_range_new(INT2FIX(-1), INT2FIX(1), true);
7
+ VALUE domain = rb_range_new(INT2FIX(-1), INT2FIX(1), false);
8
8
 
9
9
  x = rb_num_canonicalize(x, prec, ARG_REAL, ARG_RAWVALUE);
10
10
 
@@ -4,7 +4,7 @@ atanh_branch(VALUE x, VALUE prec, bigmath_func1 atanh_cb)
4
4
  const ID leq = rb_intern("<=");
5
5
  VALUE y = Qundef;
6
6
  VALUE p0999 = rb_BigDecimal1(rb_str_new_cstr("0.999"));
7
- VALUE domain = rb_range_new(INT2FIX(-1), INT2FIX(1), true);
7
+ VALUE domain = rb_range_new(INT2FIX(-1), INT2FIX(1), false);
8
8
 
9
9
  x = rb_num_canonicalize(x, prec, ARG_REAL, ARG_RAWVALUE);
10
10
 
@@ -36,7 +36,7 @@ rcm2_edf(VALUE x, VALUE *reso)
36
36
  }
37
37
  if (has_sign)
38
38
  fra = rb_num_uminus(fra);
39
- *reso = LONG2FIX(resov);
39
+ *reso = resov;
40
40
  }
41
41
  return fra;
42
42
  }
@@ -864,6 +864,8 @@ solver_triginv(ID func, VALUE z, VALUE prec)
864
864
  {
865
865
  if (rb_num_real_p(z) || rb_num_zero_p(rb_num_imag(z)))
866
866
  {
867
+ if (RB_TYPE_P(z, T_COMPLEX))
868
+ z = rb_num_real(z);
867
869
  if (func == mf_asin)
868
870
  {
869
871
  VALUE domain = rb_range_new(INT2FIX(-1), INT2FIX(1), 0);
@@ -1113,6 +1115,8 @@ solver_hyperbinv(ID func, VALUE z, VALUE prec)
1113
1115
  {
1114
1116
  if (rb_num_real_p(z) || rb_num_zero_p(rb_num_imag(z)))
1115
1117
  {
1118
+ if (RB_TYPE_P(z, T_COMPLEX))
1119
+ z = rb_num_real(z);
1116
1120
  if (func == mf_asinh)
1117
1121
  {
1118
1122
  w = asinh_branch(z, prec, cb_asinh);
@@ -1152,7 +1156,7 @@ solver_hyperbinv(ID func, VALUE z, VALUE prec)
1152
1156
  w = asech_branch(z, prec, cb_asech);
1153
1157
  else if (rb_num_domain_p(m_domain, z))
1154
1158
  {
1155
- w = asech_branch(z, prec, cb_asech);
1159
+ w = asech_branch(rb_num_uminus(z), prec, cb_asech);
1156
1160
  w = rb_Complex(w, rb_bigmath_const_pi(prec));
1157
1161
  }
1158
1162
  else
@@ -2,6 +2,6 @@
2
2
 
3
3
  module BigMathR
4
4
  # Module version.
5
- VERSION = "0.2.4"
5
+ VERSION = "0.2.6"
6
6
  end
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bigdecimal/math'
4
- require_relative './math_r.so'
4
+ require 'bigdecimal/math_r/math_r'
5
5
 
6
6
  require_relative 'math_r/version'
7
7
  require_relative 'math_r/const/E_euler'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bigdecimal-math_r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - tribusonz-2
@@ -366,7 +366,6 @@ files:
366
366
  - ext/bigdecimal/math_r/solver.c
367
367
  - ext/bigdecimal/math_r/trig.c
368
368
  - lib/bigdecimal/math_r.rb
369
- - lib/bigdecimal/math_r.so
370
369
  - lib/bigdecimal/math_r/const/E_euler.rb
371
370
  - lib/bigdecimal/math_r/const/EulerGamma_engel.rb
372
371
  - lib/bigdecimal/math_r/const/LOG2_bbp2007.rb
Binary file