bigdecimal 1.4.1 → 2.0.0
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 +4 -4
- data/bigdecimal.gemspec +3 -9
- data/ext/bigdecimal/bigdecimal.c +79 -23
- data/ext/bigdecimal/extconf.rb +20 -5
- data/lib/bigdecimal/jacobian.rb +3 -4
- data/lib/bigdecimal/util.rb +36 -1
- data/lib/bigdecimal.rb +1 -10
- metadata +4 -23
- data/ext/bigdecimal/bigdecimal.def +0 -3
- data/ext/bigdecimal/depend +0 -16
- data/ext/bigdecimal/util/extconf.rb +0 -24
- data/ext/bigdecimal/util/util.c +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fe17cbc3e4c4013708f79a93c975f84b3b55c53028671ef217dde778438a909
|
4
|
+
data.tar.gz: 5ec9c5839c1ff24a1d08bca8087fff348ec5eaf5aeac910ebb4c972dc00b7b20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 653b43d52285c5b25dbef5a4ced242d289b966699e099ae37f122a120e924cabd484a534df3d62c1c2e03ae76fefdb874564631bcdd617f041b664b42c34d981
|
7
|
+
data.tar.gz: 0cc5144ca6df649f27338327021bc7644cd55f7834ff035e473b9abb68d821ea28f9a89f3e6210224547cce0be0c0a56bc9c72d89e63b8446407f2f3ef4ff602
|
data/bigdecimal.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
bigdecimal_version = '
|
3
|
+
bigdecimal_version = '2.0.0'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "bigdecimal"
|
@@ -14,16 +14,11 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.license = "ruby"
|
15
15
|
|
16
16
|
s.require_paths = %w[lib]
|
17
|
-
s.extensions = %w[ext/bigdecimal/extconf.rb
|
17
|
+
s.extensions = %w[ext/bigdecimal/extconf.rb]
|
18
18
|
s.files = %w[
|
19
19
|
bigdecimal.gemspec
|
20
20
|
ext/bigdecimal/bigdecimal.c
|
21
|
-
ext/bigdecimal/bigdecimal.def
|
22
21
|
ext/bigdecimal/bigdecimal.h
|
23
|
-
ext/bigdecimal/depend
|
24
|
-
ext/bigdecimal/extconf.rb
|
25
|
-
ext/bigdecimal/util/extconf.rb
|
26
|
-
ext/bigdecimal/util/util.c
|
27
22
|
lib/bigdecimal.rb
|
28
23
|
lib/bigdecimal/jacobian.rb
|
29
24
|
lib/bigdecimal/ludcmp.rb
|
@@ -35,11 +30,10 @@ Gem::Specification.new do |s|
|
|
35
30
|
sample/pi.rb
|
36
31
|
]
|
37
32
|
|
38
|
-
s.required_ruby_version = Gem::Requirement.new(">= 2.
|
33
|
+
s.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
39
34
|
|
40
35
|
s.add_development_dependency "rake", "~> 10.0"
|
41
36
|
s.add_development_dependency "rake-compiler", ">= 0.9"
|
42
|
-
s.add_development_dependency "rake-compiler-dock", ">= 0.6.1"
|
43
37
|
s.add_development_dependency "minitest", "< 5.0.0"
|
44
38
|
s.add_development_dependency "pry"
|
45
39
|
end
|
data/ext/bigdecimal/bigdecimal.c
CHANGED
@@ -127,6 +127,30 @@ rb_rational_den(VALUE rat)
|
|
127
127
|
}
|
128
128
|
#endif
|
129
129
|
|
130
|
+
#ifndef HAVE_RB_COMPLEX_REAL
|
131
|
+
static inline VALUE
|
132
|
+
rb_complex_real(VALUE cmp)
|
133
|
+
{
|
134
|
+
#ifdef HAVE_TYPE_STRUCT_RCOMPLEX
|
135
|
+
return RCOMPLEX(cmp)->real;
|
136
|
+
#else
|
137
|
+
return rb_funcall(cmp, rb_intern("real"), 0);
|
138
|
+
#endif
|
139
|
+
}
|
140
|
+
#endif
|
141
|
+
|
142
|
+
#ifndef HAVE_RB_COMPLEX_IMAG
|
143
|
+
static inline VALUE
|
144
|
+
rb_complex_imag(VALUE cmp)
|
145
|
+
{
|
146
|
+
#ifdef HAVE_TYPE_STRUCT_RCOMPLEX
|
147
|
+
return RCOMPLEX(cmp)->imag;
|
148
|
+
#else
|
149
|
+
return rb_funcall(cmp, rb_intern("imag"), 0);
|
150
|
+
#endif
|
151
|
+
}
|
152
|
+
#endif
|
153
|
+
|
130
154
|
#define BIGDECIMAL_POSITIVE_P(bd) ((bd)->sign > 0)
|
131
155
|
#define BIGDECIMAL_NEGATIVE_P(bd) ((bd)->sign < 0)
|
132
156
|
|
@@ -276,7 +300,6 @@ again:
|
|
276
300
|
#ifdef ENABLE_NUMERIC_STRING
|
277
301
|
case T_STRING:
|
278
302
|
StringValueCStr(v);
|
279
|
-
rb_check_safe_obj(v);
|
280
303
|
return VpCreateRbObject(RSTRING_LEN(v) + VpBaseFig() + 1,
|
281
304
|
RSTRING_PTR(v));
|
282
305
|
#endif /* ENABLE_NUMERIC_STRING */
|
@@ -418,7 +441,6 @@ BigDecimal_load(VALUE self, VALUE str)
|
|
418
441
|
unsigned long m=0;
|
419
442
|
|
420
443
|
pch = (unsigned char *)StringValueCStr(str);
|
421
|
-
rb_check_safe_obj(str);
|
422
444
|
/* First get max prec */
|
423
445
|
while((*pch) != (unsigned char)'\0' && (ch = *pch++) != (unsigned char)':') {
|
424
446
|
if(!ISDIGIT(ch)) {
|
@@ -1756,12 +1778,15 @@ BigDecimal_fix(VALUE self)
|
|
1756
1778
|
* round(n, mode)
|
1757
1779
|
*
|
1758
1780
|
* Round to the nearest integer (by default), returning the result as a
|
1759
|
-
* BigDecimal.
|
1781
|
+
* BigDecimal if n is specified, or as an Integer if it isn't.
|
1760
1782
|
*
|
1761
1783
|
* BigDecimal('3.14159').round #=> 3
|
1762
1784
|
* BigDecimal('8.7').round #=> 9
|
1763
1785
|
* BigDecimal('-9.9').round #=> -10
|
1764
1786
|
*
|
1787
|
+
* BigDecimal('3.14159').round(2).class.name #=> "BigDecimal"
|
1788
|
+
* BigDecimal('3.14159').round.class.name #=> "Integer"
|
1789
|
+
*
|
1765
1790
|
* If n is specified and positive, the fractional part of the result has no
|
1766
1791
|
* more than that many digits.
|
1767
1792
|
*
|
@@ -2027,7 +2052,6 @@ BigDecimal_to_s(int argc, VALUE *argv, VALUE self)
|
|
2027
2052
|
if (rb_scan_args(argc, argv, "01", &f) == 1) {
|
2028
2053
|
if (RB_TYPE_P(f, T_STRING)) {
|
2029
2054
|
psz = StringValueCStr(f);
|
2030
|
-
rb_check_safe_obj(f);
|
2031
2055
|
if (*psz == ' ') {
|
2032
2056
|
fPlus = 1;
|
2033
2057
|
psz++;
|
@@ -2560,6 +2584,10 @@ BigDecimal_clone(VALUE self)
|
|
2560
2584
|
return self;
|
2561
2585
|
}
|
2562
2586
|
|
2587
|
+
#ifdef HAVE_RB_OPTS_EXCEPTION_P
|
2588
|
+
int rb_opts_exception_p(VALUE opts, int default_value);
|
2589
|
+
#define opts_exception_p(opts) rb_opts_exception_p((opts), 1)
|
2590
|
+
#else
|
2563
2591
|
static int
|
2564
2592
|
opts_exception_p(VALUE opts)
|
2565
2593
|
{
|
@@ -2568,12 +2596,20 @@ opts_exception_p(VALUE opts)
|
|
2568
2596
|
if (!kwds[0]) {
|
2569
2597
|
kwds[0] = rb_intern_const("exception");
|
2570
2598
|
}
|
2571
|
-
rb_get_kwargs(opts, kwds, 0, 1, &exception);
|
2599
|
+
if (!rb_get_kwargs(opts, kwds, 0, 1, &exception)) return 1;
|
2600
|
+
switch (exception) {
|
2601
|
+
case Qtrue: case Qfalse:
|
2602
|
+
break;
|
2603
|
+
default:
|
2604
|
+
rb_raise(rb_eArgError, "true or false is expected as exception: %+"PRIsVALUE,
|
2605
|
+
exception);
|
2606
|
+
}
|
2572
2607
|
return exception != Qfalse;
|
2573
2608
|
}
|
2609
|
+
#endif
|
2574
2610
|
|
2575
2611
|
static Real *
|
2576
|
-
|
2612
|
+
VpNewVarArg(int argc, VALUE *argv)
|
2577
2613
|
{
|
2578
2614
|
size_t mf;
|
2579
2615
|
VALUE opts = Qnil;
|
@@ -2616,6 +2652,7 @@ BigDecimal_new(int argc, VALUE *argv)
|
|
2616
2652
|
}
|
2617
2653
|
}
|
2618
2654
|
|
2655
|
+
retry:
|
2619
2656
|
switch (TYPE(iniValue)) {
|
2620
2657
|
case T_DATA:
|
2621
2658
|
if (is_kind_of_BigDecimal(iniValue)) {
|
@@ -2653,6 +2690,18 @@ BigDecimal_new(int argc, VALUE *argv)
|
|
2653
2690
|
}
|
2654
2691
|
return GetVpValueWithPrec(iniValue, mf, 1);
|
2655
2692
|
|
2693
|
+
case T_COMPLEX:
|
2694
|
+
{
|
2695
|
+
VALUE im;
|
2696
|
+
im = rb_complex_imag(iniValue);
|
2697
|
+
if (!is_zero(im)) {
|
2698
|
+
rb_raise(rb_eArgError,
|
2699
|
+
"Unable to make a BigDecimal from non-zero imaginary number");
|
2700
|
+
}
|
2701
|
+
iniValue = rb_complex_real(iniValue);
|
2702
|
+
goto retry;
|
2703
|
+
}
|
2704
|
+
|
2656
2705
|
case T_STRING:
|
2657
2706
|
/* fall through */
|
2658
2707
|
default:
|
@@ -2710,8 +2759,11 @@ f_BigDecimal(int argc, VALUE *argv, VALUE self)
|
|
2710
2759
|
Real *pv;
|
2711
2760
|
VALUE obj;
|
2712
2761
|
|
2762
|
+
if (argc > 0 && CLASS_OF(argv[0]) == rb_cBigDecimal) {
|
2763
|
+
if (argc == 1 || (argc == 2 && RB_TYPE_P(argv[1], T_HASH))) return argv[0];
|
2764
|
+
}
|
2713
2765
|
obj = TypedData_Wrap_Struct(rb_cBigDecimal, &BigDecimal_data_type, 0);
|
2714
|
-
pv =
|
2766
|
+
pv = VpNewVarArg(argc, argv);
|
2715
2767
|
if (pv == NULL) return Qnil;
|
2716
2768
|
SAVE(pv);
|
2717
2769
|
if (ToValue(pv)) pv = VpCopy(NULL, pv);
|
@@ -2720,6 +2772,20 @@ f_BigDecimal(int argc, VALUE *argv, VALUE self)
|
|
2720
2772
|
return pv->obj = obj;
|
2721
2773
|
}
|
2722
2774
|
|
2775
|
+
static VALUE
|
2776
|
+
BigDecimal_s_interpret_loosely(VALUE klass, VALUE str)
|
2777
|
+
{
|
2778
|
+
ENTER(1);
|
2779
|
+
char const *c_str;
|
2780
|
+
Real *pv;
|
2781
|
+
|
2782
|
+
c_str = StringValueCStr(str);
|
2783
|
+
GUARD_OBJ(pv, VpAlloc(0, c_str, 0, 1));
|
2784
|
+
pv->obj = TypedData_Wrap_Struct(klass, &BigDecimal_data_type, pv);
|
2785
|
+
RB_OBJ_FREEZE(pv->obj);
|
2786
|
+
return pv->obj;
|
2787
|
+
}
|
2788
|
+
|
2723
2789
|
/* call-seq:
|
2724
2790
|
* BigDecimal.limit(digits)
|
2725
2791
|
*
|
@@ -2939,6 +3005,10 @@ BigMath_s_exp(VALUE klass, VALUE x, VALUE vprec)
|
|
2939
3005
|
n = prec + rmpd_double_figures();
|
2940
3006
|
negative = BIGDECIMAL_NEGATIVE_P(vx);
|
2941
3007
|
if (negative) {
|
3008
|
+
VALUE x_zero = INT2NUM(1);
|
3009
|
+
VALUE x_copy = f_BigDecimal(1, &x_zero, klass);
|
3010
|
+
x = BigDecimal_initialize_copy(x_copy, x);
|
3011
|
+
vx = DATA_PTR(x);
|
2942
3012
|
VpSetSign(vx, 1);
|
2943
3013
|
}
|
2944
3014
|
|
@@ -3140,20 +3210,6 @@ get_vp_value:
|
|
3140
3210
|
return y;
|
3141
3211
|
}
|
3142
3212
|
|
3143
|
-
VALUE
|
3144
|
-
rmpd_util_str_to_d(VALUE str)
|
3145
|
-
{
|
3146
|
-
ENTER(1);
|
3147
|
-
char const *c_str;
|
3148
|
-
Real *pv;
|
3149
|
-
|
3150
|
-
c_str = StringValueCStr(str);
|
3151
|
-
GUARD_OBJ(pv, VpAlloc(0, c_str, 0, 1));
|
3152
|
-
pv->obj = TypedData_Wrap_Struct(rb_cBigDecimal, &BigDecimal_data_type, pv);
|
3153
|
-
RB_OBJ_FREEZE(pv->obj);
|
3154
|
-
return pv->obj;
|
3155
|
-
}
|
3156
|
-
|
3157
3213
|
/* Document-class: BigDecimal
|
3158
3214
|
* BigDecimal provides arbitrary-precision floating point decimal arithmetic.
|
3159
3215
|
*
|
@@ -3300,6 +3356,7 @@ Init_bigdecimal(void)
|
|
3300
3356
|
/* Class methods */
|
3301
3357
|
rb_undef_method(CLASS_OF(rb_cBigDecimal), "allocate");
|
3302
3358
|
rb_undef_method(CLASS_OF(rb_cBigDecimal), "new");
|
3359
|
+
rb_define_singleton_method(rb_cBigDecimal, "interpret_loosely", BigDecimal_s_interpret_loosely, 1);
|
3303
3360
|
rb_define_singleton_method(rb_cBigDecimal, "mode", BigDecimal_mode, -1);
|
3304
3361
|
rb_define_singleton_method(rb_cBigDecimal, "limit", BigDecimal_limit, -1);
|
3305
3362
|
rb_define_singleton_method(rb_cBigDecimal, "double_fig", BigDecimal_double_fig, 0);
|
@@ -3430,7 +3487,6 @@ Init_bigdecimal(void)
|
|
3430
3487
|
|
3431
3488
|
|
3432
3489
|
/* instance methods */
|
3433
|
-
rb_define_method(rb_cBigDecimal, "initialize_copy", BigDecimal_initialize_copy, 1);
|
3434
3490
|
rb_define_method(rb_cBigDecimal, "precs", BigDecimal_prec, 0);
|
3435
3491
|
|
3436
3492
|
rb_define_method(rb_cBigDecimal, "add", BigDecimal_add2, 2);
|
@@ -4281,7 +4337,7 @@ VpAlloc(size_t mx, const char *szVal, int strict_p, int exc)
|
|
4281
4337
|
|
4282
4338
|
psz[i] = '\0';
|
4283
4339
|
|
4284
|
-
if (((ni == 0 || dot_seen) && nf == 0) || (exp_seen && ne == 0)) {
|
4340
|
+
if (strict_p && (((ni == 0 || dot_seen) && nf == 0) || (exp_seen && ne == 0))) {
|
4285
4341
|
VALUE str;
|
4286
4342
|
invalid_value:
|
4287
4343
|
if (!strict_p) {
|
data/ext/bigdecimal/extconf.rb
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
2
|
require 'mkmf'
|
3
3
|
|
4
|
+
def check_bigdecimal_version(gemspec_path)
|
5
|
+
message "checking RUBY_BIGDECIMAL_VERSION... "
|
6
|
+
|
7
|
+
bigdecimal_version =
|
8
|
+
IO.readlines(gemspec_path)
|
9
|
+
.grep(/\Abigdecimal_version\s+=\s+/)[0][/\'([^\']+)\'/, 1]
|
10
|
+
|
11
|
+
version_components = bigdecimal_version.split('.')
|
12
|
+
bigdecimal_version = version_components[0, 3].join('.')
|
13
|
+
bigdecimal_version << "-#{version_components[3]}" if version_components[3]
|
14
|
+
$defs << %Q[-DRUBY_BIGDECIMAL_VERSION=\\"#{bigdecimal_version}\\"]
|
15
|
+
|
16
|
+
message "#{bigdecimal_version}\n"
|
17
|
+
end
|
18
|
+
|
4
19
|
gemspec_name = gemspec_path = nil
|
5
20
|
unless ['', '../../'].any? {|dir|
|
6
21
|
gemspec_name = "#{dir}bigdecimal.gemspec"
|
@@ -11,11 +26,7 @@ unless ['', '../../'].any? {|dir|
|
|
11
26
|
abort
|
12
27
|
end
|
13
28
|
|
14
|
-
|
15
|
-
IO.readlines(gemspec_path)
|
16
|
-
.grep(/\Abigdecimal_version\s+=\s+/)[0][/\'([\d\.]+)\'/, 1]
|
17
|
-
|
18
|
-
$defs << %Q[-DRUBY_BIGDECIMAL_VERSION=\\"#{bigdecimal_version}\\"]
|
29
|
+
check_bigdecimal_version(gemspec_path)
|
19
30
|
|
20
31
|
have_func("labs", "stdlib.h")
|
21
32
|
have_func("llabs", "stdlib.h")
|
@@ -25,8 +36,12 @@ have_func("isfinite", "math.h")
|
|
25
36
|
have_type("struct RRational", "ruby.h")
|
26
37
|
have_func("rb_rational_num", "ruby.h")
|
27
38
|
have_func("rb_rational_den", "ruby.h")
|
39
|
+
have_type("struct RComplex", "ruby.h")
|
40
|
+
have_func("rb_complex_real", "ruby.h")
|
41
|
+
have_func("rb_complex_imag", "ruby.h")
|
28
42
|
have_func("rb_array_const_ptr", "ruby.h")
|
29
43
|
have_func("rb_sym2str", "ruby.h")
|
44
|
+
have_func("rb_opts_exception_p", "ruby.h")
|
30
45
|
|
31
46
|
if File.file?(File.expand_path('../lib/bigdecimal.rb', __FILE__))
|
32
47
|
bigdecimal_rb = "$(srcdir)/lib/bigdecimal.rb"
|
data/lib/bigdecimal/jacobian.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
-
|
2
|
+
|
3
|
+
require 'bigdecimal'
|
4
|
+
|
3
5
|
# require 'bigdecimal/jacobian'
|
4
6
|
#
|
5
7
|
# Provides methods to compute the Jacobian matrix of a set of equations at a
|
@@ -21,9 +23,6 @@
|
|
21
23
|
#
|
22
24
|
# fx is f.values(x).
|
23
25
|
#
|
24
|
-
|
25
|
-
require 'bigdecimal'
|
26
|
-
|
27
26
|
module Jacobian
|
28
27
|
module_function
|
29
28
|
|
data/lib/bigdecimal/util.rb
CHANGED
@@ -6,7 +6,6 @@
|
|
6
6
|
#++
|
7
7
|
|
8
8
|
require 'bigdecimal'
|
9
|
-
require 'bigdecimal/util.so'
|
10
9
|
|
11
10
|
class Integer < Numeric
|
12
11
|
# call-seq:
|
@@ -66,6 +65,9 @@ class String
|
|
66
65
|
#
|
67
66
|
# See also BigDecimal::new.
|
68
67
|
#
|
68
|
+
def to_d
|
69
|
+
BigDecimal.interpret_loosely(self)
|
70
|
+
end
|
69
71
|
end
|
70
72
|
|
71
73
|
|
@@ -129,6 +131,39 @@ class Rational < Numeric
|
|
129
131
|
end
|
130
132
|
|
131
133
|
|
134
|
+
class Complex < Numeric
|
135
|
+
# call-seq:
|
136
|
+
# cmp.to_d -> bigdecimal
|
137
|
+
# cmp.to_d(precision) -> bigdecimal
|
138
|
+
#
|
139
|
+
# Returns the value as a BigDecimal.
|
140
|
+
#
|
141
|
+
# The +precision+ parameter is required for a rational complex number.
|
142
|
+
# This parameter is used to determine the number of significant digits
|
143
|
+
# for the result.
|
144
|
+
#
|
145
|
+
# require 'bigdecimal'
|
146
|
+
# require 'bigdecimal/util'
|
147
|
+
#
|
148
|
+
# Complex(0.1234567, 0).to_d(4) # => 0.1235e0
|
149
|
+
# Complex(Rational(22, 7), 0).to_d(3) # => 0.314e1
|
150
|
+
#
|
151
|
+
# See also BigDecimal::new.
|
152
|
+
#
|
153
|
+
def to_d(*args)
|
154
|
+
BigDecimal(self) unless self.imag.zero? # to raise eerror
|
155
|
+
|
156
|
+
if args.length == 0
|
157
|
+
case self.real
|
158
|
+
when Rational
|
159
|
+
BigDecimal(self.real) # to raise error
|
160
|
+
end
|
161
|
+
end
|
162
|
+
self.real.to_d(*args)
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
|
132
167
|
class NilClass
|
133
168
|
# call-seq:
|
134
169
|
# nil.to_d -> bigdecimal
|
data/lib/bigdecimal.rb
CHANGED
@@ -1,10 +1 @@
|
|
1
|
-
|
2
|
-
require "#{RUBY_VERSION[/\d+\.\d+/]}/bigdecimal.so"
|
3
|
-
rescue LoadError
|
4
|
-
require 'bigdecimal.so'
|
5
|
-
end
|
6
|
-
|
7
|
-
def BigDecimal.new(*args, **kwargs)
|
8
|
-
warn "BigDecimal.new is deprecated; use BigDecimal() method instead.", uplevel: 1
|
9
|
-
BigDecimal(*args, **kwargs)
|
10
|
-
end
|
1
|
+
require 'bigdecimal.so'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bigdecimal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenta Murata
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2019-12-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -40,20 +40,6 @@ dependencies:
|
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0.9'
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
|
-
name: rake-compiler-dock
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 0.6.1
|
50
|
-
type: :development
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.6.1
|
57
43
|
- !ruby/object:Gem::Dependency
|
58
44
|
name: minitest
|
59
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,17 +75,12 @@ email:
|
|
89
75
|
executables: []
|
90
76
|
extensions:
|
91
77
|
- ext/bigdecimal/extconf.rb
|
92
|
-
- ext/bigdecimal/util/extconf.rb
|
93
78
|
extra_rdoc_files: []
|
94
79
|
files:
|
95
80
|
- bigdecimal.gemspec
|
96
81
|
- ext/bigdecimal/bigdecimal.c
|
97
|
-
- ext/bigdecimal/bigdecimal.def
|
98
82
|
- ext/bigdecimal/bigdecimal.h
|
99
|
-
- ext/bigdecimal/depend
|
100
83
|
- ext/bigdecimal/extconf.rb
|
101
|
-
- ext/bigdecimal/util/extconf.rb
|
102
|
-
- ext/bigdecimal/util/util.c
|
103
84
|
- lib/bigdecimal.rb
|
104
85
|
- lib/bigdecimal/jacobian.rb
|
105
86
|
- lib/bigdecimal/ludcmp.rb
|
@@ -121,14 +102,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
102
|
requirements:
|
122
103
|
- - ">="
|
123
104
|
- !ruby/object:Gem::Version
|
124
|
-
version: 2.
|
105
|
+
version: 2.4.0
|
125
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
107
|
requirements:
|
127
108
|
- - ">="
|
128
109
|
- !ruby/object:Gem::Version
|
129
110
|
version: '0'
|
130
111
|
requirements: []
|
131
|
-
rubygems_version: 3.0.
|
112
|
+
rubygems_version: 3.0.3
|
132
113
|
signing_key:
|
133
114
|
specification_version: 4
|
134
115
|
summary: Arbitrary-precision decimal floating-point number library.
|
data/ext/bigdecimal/depend
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
extconf.h: $(srcdir)/$(GEMSPEC)
|
2
|
-
Makefile: $(BIGDECIMAL_RB)
|
3
|
-
|
4
|
-
# AUTOGENERATED DEPENDENCIES START
|
5
|
-
bigdecimal.o: $(RUBY_EXTCONF_H)
|
6
|
-
bigdecimal.o: $(arch_hdrdir)/ruby/config.h
|
7
|
-
bigdecimal.o: $(hdrdir)/ruby/defines.h
|
8
|
-
bigdecimal.o: $(hdrdir)/ruby/intern.h
|
9
|
-
bigdecimal.o: $(hdrdir)/ruby/missing.h
|
10
|
-
bigdecimal.o: $(hdrdir)/ruby/ruby.h
|
11
|
-
bigdecimal.o: $(hdrdir)/ruby/st.h
|
12
|
-
bigdecimal.o: $(hdrdir)/ruby/subst.h
|
13
|
-
bigdecimal.o: $(hdrdir)/ruby/util.h
|
14
|
-
bigdecimal.o: bigdecimal.c
|
15
|
-
bigdecimal.o: bigdecimal.h
|
16
|
-
# AUTOGENERATED DEPENDENCIES END
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: false
|
2
|
-
require 'mkmf'
|
3
|
-
|
4
|
-
checking_for(checking_message("Windows")) do
|
5
|
-
case RUBY_PLATFORM
|
6
|
-
when /cygwin|mingw/
|
7
|
-
if defined?($extlist)
|
8
|
-
build_dir = "$(TARGET_SO_DIR)../"
|
9
|
-
else
|
10
|
-
base_dir = File.expand_path('../../../..', __FILE__)
|
11
|
-
build_dir = File.join(base_dir, "tmp", RUBY_PLATFORM, "bigdecimal", RUBY_VERSION, "")
|
12
|
-
end
|
13
|
-
$libs << " #{build_dir}bigdecimal.so"
|
14
|
-
true
|
15
|
-
when /mswin/
|
16
|
-
$DLDFLAGS << " -libpath:.."
|
17
|
-
$libs << " bigdecimal-$(arch).lib"
|
18
|
-
true
|
19
|
-
else
|
20
|
-
false
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
create_makefile('bigdecimal/util')
|