[前][次][番号順一覧][スレッド一覧]

ruby-changes:62142

From: Kenta <ko1@a...>
Date: Mon, 6 Jul 2020 08:56:25 +0900 (JST)
Subject: [ruby-changes:62142] 40b82afe6a (master): [ruby/bigdecimal] Support Ruby < 2.6

https://git.ruby-lang.org/ruby.git/commit/?id=40b82afe6a

From 40b82afe6a20749a375d36ce17e941e890ef8b0e Mon Sep 17 00:00:00 2001
From: Kenta Murata <mrkn@m...>
Date: Wed, 9 Oct 2019 10:50:59 +0900
Subject: [ruby/bigdecimal] Support Ruby < 2.6

https://github.com/ruby/bigdecimal/commit/61ec452599

diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index 5d0fc85..3800152 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -128,6 +128,30 @@ rb_rational_den(VALUE rat) https://github.com/ruby/ruby/blob/trunk/ext/bigdecimal/bigdecimal.c#L128
 }
 #endif
 
+#ifndef HAVE_RB_COMPLEX_REAL
+static inline VALUE
+rb_complex_real(VALUE cmp)
+{
+#ifdef HAVE_TYPE_STRUCT_RCOMPLEX
+  return RCOMPLEX(cmp)->real;
+#else
+  return rb_funcall(cmp, rb_intern("real"), 0);
+#endif
+}
+#endif
+
+#ifndef HAVE_RB_COMPLEX_IMAG
+static inline VALUE
+rb_complex_imag(VALUE cmp)
+{
+#ifdef HAVE_TYPE_STRUCT_RCOMPLEX
+  return RCOMPLEX(cmp)->imag;
+#else
+  return rb_funcall(cmp, rb_intern("imag"), 0);
+#endif
+}
+#endif
+
 #define BIGDECIMAL_POSITIVE_P(bd) ((bd)->sign > 0)
 #define BIGDECIMAL_NEGATIVE_P(bd) ((bd)->sign < 0)
 
diff --git a/ext/bigdecimal/extconf.rb b/ext/bigdecimal/extconf.rb
index b4098fd..fc448ed 100644
--- a/ext/bigdecimal/extconf.rb
+++ b/ext/bigdecimal/extconf.rb
@@ -36,6 +36,9 @@ have_func("isfinite", "math.h") https://github.com/ruby/ruby/blob/trunk/ext/bigdecimal/extconf.rb#L36
 have_type("struct RRational", "ruby.h")
 have_func("rb_rational_num", "ruby.h")
 have_func("rb_rational_den", "ruby.h")
+have_type("struct RComplex", "ruby.h")
+have_func("rb_complex_real", "ruby.h")
+have_func("rb_complex_imag", "ruby.h")
 have_func("rb_array_const_ptr", "ruby.h")
 have_func("rb_sym2str", "ruby.h")
 have_func("rb_opts_exception_p", "ruby.h")
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]