bigdecimal 1.2.7 → 1.3.4

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.
@@ -4,18 +4,13 @@
4
4
  *
5
5
  * Copyright(C) 2002 by Shigeo Kobayashi(shigeo@tinyforest.gr.jp)
6
6
  *
7
- * You may distribute under the terms of either the GNU General Public
8
- * License or the Artistic License, as specified in the README file
9
- * of this BigDecimal distribution.
10
- *
11
- * NOTES:
12
- * 2003-03-28 V1.0 checked in.
13
- *
14
7
  */
15
8
 
16
9
  #ifndef RUBY_BIG_DECIMAL_H
17
10
  #define RUBY_BIG_DECIMAL_H 1
18
11
 
12
+ #define RUBY_NO_OLD_COMPATIBILITY
13
+
19
14
  #include "ruby/ruby.h"
20
15
  #include <float.h>
21
16
 
@@ -43,13 +38,35 @@
43
38
  # define BDIGIT_DBL uint64_t
44
39
  # define BDIGIT_DBL_SIGNED int64_t
45
40
  # define SIZEOF_BDIGITS 4
41
+ # define PRI_BDIGIT_PREFIX ""
42
+ # ifdef PRI_LL_PREFIX
43
+ # define PRI_BDIGIT_DBL_PREFIX PRI_LL_PREFIX
44
+ # else
45
+ # define PRI_BDIGIT_DBL_PREFIX "l"
46
+ # endif
46
47
  #else
47
48
  # define BDIGIT uint16_t
48
49
  # define BDIGIT_DBL uint32_t
49
50
  # define BDIGIT_DBL_SIGNED int32_t
50
51
  # define SIZEOF_BDIGITS 2
52
+ # define PRI_BDIGIT_PREFIX "h"
53
+ # define PRI_BDIGIT_DBL_PREFIX ""
51
54
  #endif
52
55
 
56
+ #define PRIdBDIGIT PRI_BDIGIT_PREFIX"d"
57
+ #define PRIiBDIGIT PRI_BDIGIT_PREFIX"i"
58
+ #define PRIoBDIGIT PRI_BDIGIT_PREFIX"o"
59
+ #define PRIuBDIGIT PRI_BDIGIT_PREFIX"u"
60
+ #define PRIxBDIGIT PRI_BDIGIT_PREFIX"x"
61
+ #define PRIXBDIGIT PRI_BDIGIT_PREFIX"X"
62
+
63
+ #define PRIdBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"d"
64
+ #define PRIiBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"i"
65
+ #define PRIoBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"o"
66
+ #define PRIuBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"u"
67
+ #define PRIxBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"x"
68
+ #define PRIXBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"X"
69
+
53
70
  #if defined(__cplusplus)
54
71
  extern "C" {
55
72
  #if 0
@@ -75,6 +92,62 @@ llabs(LONG_LONG const x)
75
92
  }
76
93
  #endif
77
94
 
95
+ #ifndef HAVE_FINITE
96
+ static int
97
+ finite(double)
98
+ {
99
+ return !isnan(n) && !isinf(n);
100
+ }
101
+ #endif
102
+
103
+ #ifndef isfinite
104
+ # ifndef HAVE_ISFINITE
105
+ # define HAVE_ISFINITE 1
106
+ # define isfinite(x) finite(x)
107
+ # endif
108
+ #endif
109
+
110
+ #ifndef FIX_CONST_VALUE_PTR
111
+ # if defined(__fcc__) || defined(__fcc_version) || \
112
+ defined(__FCC__) || defined(__FCC_VERSION)
113
+ /* workaround for old version of Fujitsu C Compiler (fcc) */
114
+ # define FIX_CONST_VALUE_PTR(x) ((const VALUE *)(x))
115
+ # else
116
+ # define FIX_CONST_VALUE_PTR(x) (x)
117
+ # endif
118
+ #endif
119
+
120
+ #ifndef HAVE_RB_ARRAY_CONST_PTR
121
+ static inline const VALUE *
122
+ rb_array_const_ptr(VALUE a)
123
+ {
124
+ return FIX_CONST_VALUE_PTR((RBASIC(a)->flags & RARRAY_EMBED_FLAG) ?
125
+ RARRAY(a)->as.ary : RARRAY(a)->as.heap.ptr);
126
+ }
127
+ #endif
128
+
129
+ #ifndef RARRAY_CONST_PTR
130
+ # define RARRAY_CONST_PTR(a) rb_array_const_ptr(a)
131
+ #endif
132
+
133
+ #ifndef RARRAY_AREF
134
+ # define RARRAY_AREF(a, i) (RARRAY_CONST_PTR(a)[i])
135
+ #endif
136
+
137
+ #ifndef HAVE_RB_SYM2STR
138
+ static inline VALUE
139
+ rb_sym2str(VALUE sym)
140
+ {
141
+ return rb_id2str(SYM2ID(sym));
142
+ }
143
+ #endif
144
+
145
+ #ifndef ST2FIX
146
+ # undef RB_ST2FIX
147
+ # define RB_ST2FIX(h) LONG2FIX((long)(h))
148
+ # define ST2FIX(h) RB_ST2FIX(h)
149
+ #endif
150
+
78
151
  #ifdef vabs
79
152
  # undef vabs
80
153
  #endif
@@ -167,11 +240,11 @@ extern VALUE rb_cBigDecimal;
167
240
  typedef struct {
168
241
  VALUE obj; /* Back pointer(VALUE) for Ruby object. */
169
242
  size_t MaxPrec; /* Maximum precision size */
170
- /* This is the actual size of pfrac[] */
243
+ /* This is the actual size of frac[] */
171
244
  /*(frac[0] to frac[MaxPrec] are available). */
172
245
  size_t Prec; /* Current precision size. */
173
- /* This indicates how much the. */
174
- /* the array frac[] is actually used. */
246
+ /* This indicates how much the */
247
+ /* array frac[] is actually used. */
175
248
  SIGNED_VALUE exponent; /* Exponent part. */
176
249
  short sign; /* Attributes of the value. */
177
250
  /*
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: false
2
+ require 'mkmf'
3
+
4
+ gemspec_name = gemspec_path = nil
5
+ unless ['', '../../'].any? {|dir|
6
+ gemspec_name = "#{dir}bigdecimal.gemspec"
7
+ gemspec_path = File.expand_path("../#{gemspec_name}", __FILE__)
8
+ File.file?(gemspec_path)
9
+ }
10
+ $stderr.puts "Unable to find bigdecimal.gemspec"
11
+ abort
12
+ end
13
+
14
+ bigdecimal_version =
15
+ IO.readlines(gemspec_path)
16
+ .grep(/\Abigdecimal_version\s+=\s+/)[0][/\'([\d\.]+)\'/, 1]
17
+
18
+ $defs << %Q[-DRUBY_BIGDECIMAL_VERSION=\\"#{bigdecimal_version}\\"]
19
+
20
+ alias __have_macro__ have_macro
21
+
22
+ have_func("labs", "stdlib.h")
23
+ have_func("llabs", "stdlib.h")
24
+ have_func("finite", "math.h")
25
+ have_func("isfinite", "math.h")
26
+
27
+ have_type("struct RRational", "ruby.h")
28
+ have_func("rb_rational_num", "ruby.h")
29
+ have_func("rb_rational_den", "ruby.h")
30
+ have_func("rb_array_const_ptr", "ruby.h")
31
+ have_func("rb_sym2str", "ruby.h")
32
+
33
+ create_makefile('bigdecimal') {|mf|
34
+ mf << "\nall:\n\nextconf.h: $(srcdir)/#{gemspec_name}\n"
35
+ }
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: false
1
2
  #
2
3
  # require 'bigdecimal/jacobian'
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: false
1
2
  require 'bigdecimal'
2
3
 
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: false
1
2
  require 'bigdecimal'
2
3
 
3
4
  #
@@ -25,7 +26,7 @@ require 'bigdecimal'
25
26
  # include BigMath
26
27
  #
27
28
  # a = BigDecimal((PI(100)/2).to_s)
28
- # puts sin(a,100) # => 0.10000000000000000000......E1
29
+ # puts sin(a,100) # => 0.99999999999999999999......e0
29
30
  #
30
31
  module BigMath
31
32
  module_function
@@ -36,8 +37,8 @@ module BigMath
36
37
  # Computes the square root of +decimal+ to the specified number of digits of
37
38
  # precision, +numeric+.
38
39
  #
39
- # BigMath.sqrt(BigDecimal.new('2'), 16).to_s
40
- # #=> "0.1414213562373095048801688724E1"
40
+ # BigMath.sqrt(BigDecimal('2'), 16).to_s
41
+ # #=> "0.1414213562373095048801688724e1"
41
42
  #
42
43
  def sqrt(x, prec)
43
44
  x.sqrt(prec)
@@ -52,7 +53,7 @@ module BigMath
52
53
  # If +decimal+ is Infinity or NaN, returns NaN.
53
54
  #
54
55
  # BigMath.sin(BigMath.PI(5)/4, 5).to_s
55
- # #=> "0.70710678118654752440082036563292800375E0"
56
+ # #=> "0.70710678118654752440082036563292800375e0"
56
57
  #
57
58
  def sin(x, prec)
58
59
  raise ArgumentError, "Zero or negative precision for sin" if prec <= 0
@@ -96,7 +97,7 @@ module BigMath
96
97
  # If +decimal+ is Infinity or NaN, returns NaN.
97
98
  #
98
99
  # BigMath.cos(BigMath.PI(4), 16).to_s
99
- # #=> "-0.999999999999999999999999999999856613163740061349E0"
100
+ # #=> "-0.999999999999999999999999999999856613163740061349e0"
100
101
  #
101
102
  def cos(x, prec)
102
103
  raise ArgumentError, "Zero or negative precision for cos" if prec <= 0
@@ -139,8 +140,8 @@ module BigMath
139
140
  #
140
141
  # If +decimal+ is NaN, returns NaN.
141
142
  #
142
- # BigMath.atan(BigDecimal.new('-1'), 16).to_s
143
- # #=> "-0.785398163397448309615660845819878471907514682065E0"
143
+ # BigMath.atan(BigDecimal('-1'), 16).to_s
144
+ # #=> "-0.785398163397448309615660845819878471907514682065e0"
144
145
  #
145
146
  def atan(x, prec)
146
147
  raise ArgumentError, "Zero or negative precision for atan" if prec <= 0
@@ -177,7 +178,7 @@ module BigMath
177
178
  # +numeric+.
178
179
  #
179
180
  # BigMath.PI(10).to_s
180
- # #=> "0.3141592653589793238462643388813853786957412E1"
181
+ # #=> "0.3141592653589793238462643388813853786957412e1"
181
182
  #
182
183
  def PI(prec)
183
184
  raise ArgumentError, "Zero or negative precision for PI" if prec <= 0
@@ -222,7 +223,7 @@ module BigMath
222
223
  # digits of precision, +numeric+.
223
224
  #
224
225
  # BigMath.E(10).to_s
225
- # #=> "0.271828182845904523536028752390026306410273E1"
226
+ # #=> "0.271828182845904523536028752390026306410273e1"
226
227
  #
227
228
  def E(prec)
228
229
  raise ArgumentError, "Zero or negative precision for E" if prec <= 0
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: false
1
2
  require "bigdecimal/ludcmp"
2
3
  require "bigdecimal/jacobian"
3
4
 
@@ -1,71 +1,79 @@
1
- # BigDecimal extends the native Integer class to provide the #to_d method.
1
+ # frozen_string_literal: false
2
2
  #
3
- # When you require the BigDecimal library in your application, this methodwill
4
- # be available on Integer objects.
3
+ #--
4
+ # bigdecimal/util extends various native classes to provide the #to_d method,
5
+ # and provides BigDecimal#to_d and BigDecimal#to_digits.
6
+ #++
7
+
8
+
5
9
  class Integer < Numeric
6
10
  # call-seq:
7
11
  # int.to_d -> bigdecimal
8
12
  #
9
- # Convert +int+ to a BigDecimal and return it.
13
+ # Returns the value of +int+ as a BigDecimal.
10
14
  #
11
15
  # require 'bigdecimal'
12
16
  # require 'bigdecimal/util'
13
17
  #
14
- # 42.to_d
15
- # # => #<BigDecimal:1008ef070,'0.42E2',9(36)>
18
+ # 42.to_d # => 0.42e2
19
+ #
20
+ # See also BigDecimal::new.
16
21
  #
17
22
  def to_d
18
23
  BigDecimal(self)
19
24
  end
20
25
  end
21
26
 
22
- # BigDecimal extends the native Float class to provide the #to_d method.
23
- #
24
- # When you require BigDecimal in your application, this method will be
25
- # available on Float objects.
27
+
26
28
  class Float < Numeric
27
29
  # call-seq:
28
- # flt.to_d -> bigdecimal
30
+ # float.to_d -> bigdecimal
31
+ # float.to_d(precision) -> bigdecimal
29
32
  #
30
- # Convert +flt+ to a BigDecimal and return it.
33
+ # Returns the value of +float+ as a BigDecimal.
34
+ # The +precision+ parameter is used to determine the number of
35
+ # significant digits for the result (the default is Float::DIG).
31
36
  #
32
37
  # require 'bigdecimal'
33
38
  # require 'bigdecimal/util'
34
39
  #
35
- # 0.5.to_d
36
- # # => #<BigDecimal:1dc69e0,'0.5E0',9(18)>
40
+ # 0.5.to_d # => 0.5e0
41
+ # 1.234.to_d(2) # => 0.12e1
42
+ #
43
+ # See also BigDecimal::new.
37
44
  #
38
45
  def to_d(precision=nil)
39
46
  BigDecimal(self, precision || Float::DIG)
40
47
  end
41
48
  end
42
49
 
43
- # BigDecimal extends the native String class to provide the #to_d method.
44
- #
45
- # When you require BigDecimal in your application, this method will be
46
- # available on String objects.
50
+
47
51
  class String
48
52
  # call-seq:
49
- # string.to_d -> bigdecimal
53
+ # str.to_d -> bigdecimal
50
54
  #
51
- # Convert +string+ to a BigDecimal and return it.
55
+ # Returns the result of interpreting leading characters in +str+
56
+ # as a BigDecimal.
52
57
  #
53
58
  # require 'bigdecimal'
54
59
  # require 'bigdecimal/util'
55
60
  #
56
- # "0.5".to_d
57
- # # => #<BigDecimal:1dc69e0,'0.5E0',9(18)>
61
+ # "0.5".to_d # => 0.5e0
62
+ # "123.45e1".to_d # => 0.12345e4
63
+ # "45.67 degrees".to_d # => 0.4567e2
64
+ #
65
+ # See also BigDecimal::new.
58
66
  #
59
67
  def to_d
60
- BigDecimal(self)
68
+ begin
69
+ BigDecimal(self)
70
+ rescue ArgumentError
71
+ BigDecimal(0)
72
+ end
61
73
  end
62
74
  end
63
75
 
64
- # BigDecimal extends the native Numeric class to provide the #to_digits and
65
- # #to_d methods.
66
- #
67
- # When you require BigDecimal in your application, this method will be
68
- # available on BigDecimal objects.
76
+
69
77
  class BigDecimal < Numeric
70
78
  # call-seq:
71
79
  # a.to_digits -> string
@@ -73,12 +81,11 @@ class BigDecimal < Numeric
73
81
  # Converts a BigDecimal to a String of the form "nnnnnn.mmm".
74
82
  # This method is deprecated; use BigDecimal#to_s("F") instead.
75
83
  #
76
- # require 'bigdecimal'
77
84
  # require 'bigdecimal/util'
78
85
  #
79
- # d = BigDecimal.new("3.14")
80
- # d.to_digits
81
- # # => "3.14"
86
+ # d = BigDecimal("3.14")
87
+ # d.to_digits # => "3.14"
88
+ #
82
89
  def to_digits
83
90
  if self.nan? || self.infinite? || self.zero?
84
91
  self.to_s
@@ -93,35 +100,35 @@ class BigDecimal < Numeric
93
100
  # a.to_d -> bigdecimal
94
101
  #
95
102
  # Returns self.
103
+ #
104
+ # require 'bigdecimal/util'
105
+ #
106
+ # d = BigDecimal("3.14")
107
+ # d.to_d # => 0.314e1
108
+ #
96
109
  def to_d
97
110
  self
98
111
  end
99
112
  end
100
113
 
101
- # BigDecimal extends the native Rational class to provide the #to_d method.
102
- #
103
- # When you require BigDecimal in your application, this method will be
104
- # available on Rational objects.
114
+
105
115
  class Rational < Numeric
106
116
  # call-seq:
107
- # r.to_d(precision) -> bigdecimal
117
+ # rat.to_d(precision) -> bigdecimal
108
118
  #
109
- # Converts a Rational to a BigDecimal.
119
+ # Returns the value as a BigDecimal.
110
120
  #
111
- # The required +precision+ parameter is used to determine the amount of
112
- # significant digits for the result. See BigDecimal#div for more information,
113
- # as it is used along with the #denominator and the +precision+ for
114
- # parameters.
121
+ # The required +precision+ parameter is used to determine the number of
122
+ # significant digits for the result.
123
+ #
124
+ # require 'bigdecimal'
125
+ # require 'bigdecimal/util'
126
+ #
127
+ # Rational(22, 7).to_d(3) # => 0.314e1
128
+ #
129
+ # See also BigDecimal::new.
115
130
  #
116
- # r = (22/7.0).to_r
117
- # # => (7077085128725065/2251799813685248)
118
- # r.to_d(3)
119
- # # => #<BigDecimal:1a44d08,'0.314E1',18(36)>
120
131
  def to_d(precision)
121
- if precision <= 0
122
- raise ArgumentError, "negative precision"
123
- end
124
- num = self.numerator
125
- BigDecimal(num).div(self.denominator, precision)
132
+ BigDecimal(self, precision)
126
133
  end
127
134
  end
data/sample/linear.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/local/bin/ruby
2
+ # frozen_string_literal: false
2
3
 
3
4
  #
4
5
  # linear.rb
@@ -27,8 +28,8 @@ def rd_order(na)
27
28
  end
28
29
 
29
30
  na = ARGV.size
30
- zero = BigDecimal.new("0.0")
31
- one = BigDecimal.new("1.0")
31
+ zero = BigDecimal("0.0")
32
+ one = BigDecimal("1.0")
32
33
 
33
34
  while (n=rd_order(na))>0
34
35
  a = []
@@ -36,27 +37,28 @@ while (n=rd_order(na))>0
36
37
  b = []
37
38
  if na <= 0
38
39
  # Read data from console.
39
- printf("\nEnter coefficient matrix element A[i,j]\n");
40
+ printf("\nEnter coefficient matrix element A[i,j]\n")
40
41
  for i in 0...n do
41
42
  for j in 0...n do
42
43
  printf("A[%d,%d]? ",i,j); s = ARGF.gets
43
- a << BigDecimal.new(s);
44
- as << BigDecimal.new(s);
44
+ a << BigDecimal(s)
45
+ as << BigDecimal(s)
45
46
  end
46
- printf("Contatant vector element b[%d] ? ",i); b << BigDecimal.new(ARGF.gets);
47
+ printf("Contatant vector element b[%d] ? ",i)
48
+ b << BigDecimal(ARGF.gets)
47
49
  end
48
50
  else
49
51
  # Read data from specified file.
50
- printf("Coefficient matrix and constant vector.\n");
52
+ printf("Coefficient matrix and constant vector.\n")
51
53
  for i in 0...n do
52
54
  s = ARGF.gets
53
55
  printf("%d) %s",i,s)
54
56
  s = s.split
55
57
  for j in 0...n do
56
- a << BigDecimal.new(s[j]);
57
- as << BigDecimal.new(s[j]);
58
+ a << BigDecimal(s[j])
59
+ as << BigDecimal(s[j])
58
60
  end
59
- b << BigDecimal.new(s[n]);
61
+ b << BigDecimal(s[n])
60
62
  end
61
63
  end
62
64
  x = lusolve(a,b,ludecomp(a,n,zero,one),zero)
data/sample/nlsolve.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/local/bin/ruby
2
+ # frozen_string_literal: false
2
3
 
3
4
  #
4
5
  # nlsolve.rb
@@ -11,11 +12,11 @@ include Newton
11
12
 
12
13
  class Function # :nodoc: all
13
14
  def initialize()
14
- @zero = BigDecimal.new("0.0")
15
- @one = BigDecimal.new("1.0")
16
- @two = BigDecimal.new("2.0")
17
- @ten = BigDecimal.new("10.0")
18
- @eps = BigDecimal.new("1.0e-16")
15
+ @zero = BigDecimal("0.0")
16
+ @one = BigDecimal("1.0")
17
+ @two = BigDecimal("2.0")
18
+ @ten = BigDecimal("10.0")
19
+ @eps = BigDecimal("1.0e-16")
19
20
  end
20
21
  def zero;@zero;end
21
22
  def one ;@one ;end
data/sample/pi.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/local/bin/ruby
2
+ # frozen_string_literal: false
2
3
 
3
4
  #
4
5
  # pi.rb
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: 1.2.7
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenta Murata
@@ -10,22 +10,92 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-01-29 00:00:00.000000000 Z
14
- dependencies: []
13
+ date: 2017-12-24 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '10.0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '10.0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: rake-compiler
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0.9'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
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
+ - !ruby/object:Gem::Dependency
58
+ name: minitest
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: 4.7.5
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: 4.7.5
71
+ - !ruby/object:Gem::Dependency
72
+ name: pry
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
15
85
  description: This library provides arbitrary-precision decimal floating-point number
16
86
  class.
17
- email: mrkn@mrkn.jp
87
+ email:
88
+ - mrkn@mrkn.jp
18
89
  executables: []
19
90
  extensions:
20
- - extconf.rb
91
+ - ext/bigdecimal/extconf.rb
21
92
  extra_rdoc_files: []
22
93
  files:
23
- - README
24
- - bigdecimal.c
25
94
  - bigdecimal.gemspec
26
- - bigdecimal.h
27
- - depend
28
- - extconf.rb
95
+ - ext/bigdecimal/bigdecimal.c
96
+ - ext/bigdecimal/bigdecimal.h
97
+ - ext/bigdecimal/depend
98
+ - ext/bigdecimal/extconf.rb
29
99
  - lib/bigdecimal/jacobian.rb
30
100
  - lib/bigdecimal/ludcmp.rb
31
101
  - lib/bigdecimal/math.rb
@@ -34,13 +104,14 @@ files:
34
104
  - sample/linear.rb
35
105
  - sample/nlsolve.rb
36
106
  - sample/pi.rb
37
- homepage: http://www.ruby-lang.org
38
- licenses: []
107
+ homepage: https://github.com/ruby/bigdecimal
108
+ licenses:
109
+ - ruby
39
110
  metadata: {}
40
111
  post_install_message:
41
112
  rdoc_options: []
42
113
  require_paths:
43
- - "."
114
+ - lib
44
115
  required_ruby_version: !ruby/object:Gem::Requirement
45
116
  requirements:
46
117
  - - ">="
@@ -53,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
53
124
  version: '0'
54
125
  requirements: []
55
126
  rubyforge_project:
56
- rubygems_version: 2.2.2
127
+ rubygems_version: 2.6.14
57
128
  signing_key:
58
129
  specification_version: 4
59
130
  summary: Arbitrary-precision decimal floating-point number library.