rubysl-bigdecimal 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE +25 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/ext/rubysl/bigdecimal/bigdecimal.c +4760 -0
  9. data/ext/rubysl/bigdecimal/bigdecimal.h +220 -0
  10. data/ext/rubysl/bigdecimal/extconf.rb +6 -0
  11. data/lib/bigdecimal.rb +1 -0
  12. data/lib/bigdecimal/README +60 -0
  13. data/lib/bigdecimal/bigdecimal_en.html +796 -0
  14. data/lib/bigdecimal/bigdecimal_ja.html +799 -0
  15. data/lib/bigdecimal/jacobian.rb +85 -0
  16. data/lib/bigdecimal/ludcmp.rb +84 -0
  17. data/lib/bigdecimal/math.rb +235 -0
  18. data/lib/bigdecimal/newton.rb +77 -0
  19. data/lib/bigdecimal/sample/linear.rb +71 -0
  20. data/lib/bigdecimal/sample/nlsolve.rb +38 -0
  21. data/lib/bigdecimal/sample/pi.rb +20 -0
  22. data/lib/bigdecimal/util.rb +65 -0
  23. data/lib/rubysl/bigdecimal.rb +2 -0
  24. data/lib/rubysl/bigdecimal/version.rb +5 -0
  25. data/rubysl-bigdecimal.gemspec +24 -0
  26. data/spec/abs_spec.rb +49 -0
  27. data/spec/add_spec.rb +178 -0
  28. data/spec/case_compare_spec.rb +6 -0
  29. data/spec/ceil_spec.rb +122 -0
  30. data/spec/coerce_spec.rb +25 -0
  31. data/spec/comparison_spec.rb +80 -0
  32. data/spec/div_spec.rb +143 -0
  33. data/spec/divide_spec.rb +6 -0
  34. data/spec/divmod_spec.rb +233 -0
  35. data/spec/double_fig_spec.rb +8 -0
  36. data/spec/eql_spec.rb +5 -0
  37. data/spec/equal_value_spec.rb +6 -0
  38. data/spec/exponent_spec.rb +37 -0
  39. data/spec/finite_spec.rb +34 -0
  40. data/spec/fix_spec.rb +56 -0
  41. data/spec/fixtures/classes.rb +17 -0
  42. data/spec/floor_spec.rb +109 -0
  43. data/spec/frac_spec.rb +47 -0
  44. data/spec/gt_spec.rb +86 -0
  45. data/spec/gte_spec.rb +90 -0
  46. data/spec/induced_from_spec.rb +36 -0
  47. data/spec/infinite_spec.rb +31 -0
  48. data/spec/inspect_spec.rb +40 -0
  49. data/spec/limit_spec.rb +29 -0
  50. data/spec/lt_spec.rb +84 -0
  51. data/spec/lte_spec.rb +90 -0
  52. data/spec/minus_spec.rb +57 -0
  53. data/spec/mode_spec.rb +64 -0
  54. data/spec/modulo_spec.rb +11 -0
  55. data/spec/mult_spec.rb +23 -0
  56. data/spec/multiply_spec.rb +25 -0
  57. data/spec/nan_spec.rb +22 -0
  58. data/spec/new_spec.rb +120 -0
  59. data/spec/nonzero_spec.rb +28 -0
  60. data/spec/plus_spec.rb +49 -0
  61. data/spec/power_spec.rb +5 -0
  62. data/spec/precs_spec.rb +48 -0
  63. data/spec/quo_spec.rb +12 -0
  64. data/spec/remainder_spec.rb +83 -0
  65. data/spec/round_spec.rb +193 -0
  66. data/spec/shared/eql.rb +65 -0
  67. data/spec/shared/modulo.rb +146 -0
  68. data/spec/shared/mult.rb +97 -0
  69. data/spec/shared/power.rb +83 -0
  70. data/spec/shared/quo.rb +59 -0
  71. data/spec/shared/to_int.rb +27 -0
  72. data/spec/sign_spec.rb +46 -0
  73. data/spec/split_spec.rb +87 -0
  74. data/spec/sqrt_spec.rb +111 -0
  75. data/spec/sub_spec.rb +52 -0
  76. data/spec/to_f_spec.rb +54 -0
  77. data/spec/to_i_spec.rb +6 -0
  78. data/spec/to_int_spec.rb +7 -0
  79. data/spec/to_s_spec.rb +71 -0
  80. data/spec/truncate_spec.rb +100 -0
  81. data/spec/uminus_spec.rb +57 -0
  82. data/spec/uplus_spec.rb +19 -0
  83. data/spec/ver_spec.rb +10 -0
  84. data/spec/zero_spec.rb +27 -0
  85. metadata +243 -0
@@ -0,0 +1,100 @@
1
+ require 'bigdecimal'
2
+
3
+ describe "BigDecimal#truncate" do
4
+
5
+ before(:each) do
6
+ @arr = ['3.14159', '8.7', "0.314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593014782083152134043E1"]
7
+ @big = BigDecimal("123456.789")
8
+ @nan = BigDecimal('NaN')
9
+ @infinity = BigDecimal('Infinity')
10
+ @infinity_negative = BigDecimal('-Infinity')
11
+ end
12
+
13
+ ruby_version_is "" ... "1.9" do
14
+ it "returns value of type Bigdecimal." do
15
+ @arr.each do |x|
16
+ BigDecimal(x).truncate.kind_of?(BigDecimal).should == true
17
+ end
18
+ end
19
+ end
20
+
21
+ ruby_version_is "1.9" do
22
+ it "returns value of type Integer." do
23
+ @arr.each do |x|
24
+ BigDecimal(x).truncate.kind_of?(Integer).should == true
25
+ end
26
+ end
27
+ end
28
+
29
+ it "returns the integer part as a BigDecimal if no precision given" do
30
+ BigDecimal(@arr[0]).truncate.should == 3
31
+ BigDecimal(@arr[1]).truncate.should == 8
32
+ BigDecimal(@arr[2]).truncate.should == 3
33
+ BigDecimal('0').truncate.should == 0
34
+ BigDecimal('0.1').truncate.should == 0
35
+ BigDecimal('-0.1').truncate.should == 0
36
+ BigDecimal('1.5').truncate.should == 1
37
+ BigDecimal('-1.5').truncate.should == -1
38
+ BigDecimal('1E10').truncate.should == BigDecimal('1E10')
39
+ BigDecimal('-1E10').truncate.should == BigDecimal('-1E10')
40
+ BigDecimal('1.8888E10').truncate.should == BigDecimal('1.8888E10')
41
+ BigDecimal('-1E-1').truncate.should == 0
42
+ end
43
+
44
+ it "returns value of given precision otherwise" do
45
+ BigDecimal('-1.55').truncate(1).should == BigDecimal('-1.5')
46
+ BigDecimal('1.55').truncate(1).should == BigDecimal('1.5')
47
+ BigDecimal(@arr[0]).truncate(2).should == BigDecimal("3.14")
48
+ BigDecimal('123.456').truncate(2).should == BigDecimal("123.45")
49
+ BigDecimal('123.456789').truncate(4).should == BigDecimal("123.4567")
50
+ BigDecimal('0.456789').truncate(10).should == BigDecimal("0.456789")
51
+ BigDecimal('-1E-1').truncate(1).should == BigDecimal('-0.1')
52
+ BigDecimal('-1E-1').truncate(2).should == BigDecimal('-0.1E0')
53
+ BigDecimal('-1E-1').truncate.should == BigDecimal('0')
54
+ BigDecimal('-1E-1').truncate(0).should == BigDecimal('0')
55
+ BigDecimal('-1E-1').truncate(-1).should == BigDecimal('0')
56
+ BigDecimal('-1E-1').truncate(-2).should == BigDecimal('0')
57
+
58
+ BigDecimal(@arr[1]).truncate(1).should == BigDecimal("8.7")
59
+ BigDecimal(@arr[2]).truncate(100).should == BigDecimal(\
60
+ "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679")
61
+ end
62
+
63
+ it "sets n digits left of the decimal point to 0, if given n < 0" do
64
+ @big.truncate(-1).should == BigDecimal("123450.0")
65
+ @big.truncate(-2).should == BigDecimal("123400.0")
66
+ BigDecimal(@arr[2]).truncate(-1).should == 0
67
+ end
68
+
69
+ it "returns NaN if self is NaN" do
70
+ @nan.truncate(-1).nan?.should == true
71
+ @nan.truncate(+1).nan?.should == true
72
+ @nan.truncate(0).nan?.should == true
73
+ end
74
+
75
+ it "returns Infinity if self is infinite" do
76
+ @infinity.truncate(-1).should == @infinity
77
+ @infinity.truncate(+1).should == @infinity
78
+ @infinity.truncate(0).should == @infinity
79
+
80
+ @infinity_negative.truncate(-1).should == @infinity_negative
81
+ @infinity_negative.truncate(+1).should == @infinity_negative
82
+ @infinity_negative.truncate(0).should == @infinity_negative
83
+ end
84
+
85
+ ruby_version_is "" ... "1.9" do
86
+ it "returns the same value if self is special value" do
87
+ @nan.truncate.nan?.should == true
88
+ @infinity.truncate.should == @infinity
89
+ @infinity_negative.truncate.should == @infinity_negative
90
+ end
91
+ end
92
+
93
+ ruby_version_is "1.9" do
94
+ it "returns the same value if self is special value" do
95
+ lambda { @nan.truncate }.should raise_error(FloatDomainError)
96
+ lambda { @infinity.truncate }.should raise_error(FloatDomainError)
97
+ lambda { @infinity_negative.truncate }.should raise_error(FloatDomainError)
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,57 @@
1
+ require 'bigdecimal'
2
+
3
+ describe "BigDecimal#-@" do
4
+ before(:each) do
5
+ @one = BigDecimal("1")
6
+ @zero = BigDecimal("0")
7
+ @zero_pos = BigDecimal("+0")
8
+ @zero_neg = BigDecimal("-0")
9
+ @nan = BigDecimal("NaN")
10
+ @infinity = BigDecimal("Infinity")
11
+ @infinity_minus = BigDecimal("-Infinity")
12
+ @one_minus = BigDecimal("-1")
13
+ @frac_1 = BigDecimal("1E-99999")
14
+ @frac_2 = BigDecimal("0.9E-99999")
15
+ @big = BigDecimal("333E99999")
16
+ @big_neg = BigDecimal("-333E99999")
17
+ @values = [@one, @zero, @zero_pos, @zero_neg, @infinity,
18
+ @infinity_minus, @one_minus, @frac_1, @frac_2, @big, @big_neg]
19
+ end
20
+
21
+ it "negates self" do
22
+ @one.send(:-@).should == @one_minus
23
+ @one_minus.send(:-@).should == @one
24
+ @frac_1.send(:-@).should == BigDecimal("-1E-99999")
25
+ @frac_2.send(:-@).should == BigDecimal("-0.9E-99999")
26
+ @big.send(:-@).should == @big_neg
27
+ @big_neg.send(:-@).should == @big
28
+ BigDecimal("2.221").send(:-@).should == BigDecimal("-2.221")
29
+ BigDecimal("2E10000").send(:-@).should == BigDecimal("-2E10000")
30
+ some_number = BigDecimal("2455999221.5512")
31
+ some_number_neg = BigDecimal("-2455999221.5512")
32
+ some_number.send(:-@).should == some_number_neg
33
+ (-BigDecimal("-5.5")).should == BigDecimal("5.5")
34
+ another_number = BigDecimal("-8.551551551551551551")
35
+ another_number_pos = BigDecimal("8.551551551551551551")
36
+ another_number.send(:-@).should == another_number_pos
37
+ @values.each do |val|
38
+ (val.send(:-@).send(:-@)).should == val
39
+ end
40
+ end
41
+
42
+ it "properly handles special values" do
43
+ @infinity.send(:-@).should == @infinity_minus
44
+ @infinity_minus.send(:-@).should == @infinity
45
+ @infinity.send(:-@).infinite?.should == -1
46
+ @infinity_minus.send(:-@).infinite?.should == 1
47
+
48
+ @zero.send(:-@).should == @zero
49
+ @zero.send(:-@).sign.should == -1
50
+ @zero_pos.send(:-@).should == @zero
51
+ @zero_pos.send(:-@).sign.should == -1
52
+ @zero_neg.send(:-@).should == @zero
53
+ @zero_neg.send(:-@).sign.should == 1
54
+
55
+ @nan.send(:-@).nan?.should == true
56
+ end
57
+ end
@@ -0,0 +1,19 @@
1
+ require 'bigdecimal'
2
+
3
+ describe "BigDecimal#+@" do
4
+ it "returns the same value with same sign (twos complement)" do
5
+ first = BigDecimal("34.56")
6
+ first.send(:+@).should == first
7
+ second = BigDecimal("-34.56")
8
+ second.send(:+@).should == second
9
+ third = BigDecimal("0.0")
10
+ third.send(:+@).should == third
11
+ fourth = BigDecimal("2E1000000")
12
+ fourth.send(:+@).should == fourth
13
+ fifth = BigDecimal("123456789E-1000000")
14
+ fifth.send(:+@).should == fifth
15
+ end
16
+ end
17
+
18
+
19
+
data/spec/ver_spec.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'bigdecimal'
2
+
3
+ describe "BigDecimal.ver" do
4
+
5
+ it "returns the Version number" do
6
+ lambda {BigDecimal.ver }.should_not raise_error()
7
+ BigDecimal.ver.should_not == nil
8
+ end
9
+
10
+ end
data/spec/zero_spec.rb ADDED
@@ -0,0 +1,27 @@
1
+ require 'bigdecimal'
2
+
3
+ describe "BigDecimal#zero?" do
4
+
5
+ it "returns true if self does equal zero" do
6
+ really_small_zero = BigDecimal("0E-200000000")
7
+ really_big_zero = BigDecimal("0E200000000000")
8
+ really_small_zero.zero?.should == true
9
+ really_big_zero.zero?.should == true
10
+ BigDecimal("0.000000000000000000000000").zero?.should == true
11
+ BigDecimal("0").zero?.should == true
12
+ BigDecimal("0E0").zero?.should == true
13
+ BigDecimal("+0").zero?.should == true
14
+ BigDecimal("-0").zero?.should == true
15
+ end
16
+
17
+ it "returns false otherwise" do
18
+ BigDecimal("0000000001").zero?.should == false
19
+ BigDecimal("2E40001").zero?.should == false
20
+ BigDecimal("3E-20001").zero?.should == false
21
+ BigDecimal("Infinity").zero?.should == false
22
+ BigDecimal("-Infinity").zero?.should == false
23
+ BigDecimal("NaN").zero?.should == false
24
+ end
25
+
26
+ end
27
+
metadata ADDED
@@ -0,0 +1,243 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubysl-bigdecimal
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Brian Shirai
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.5'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubysl-prettyprint
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ description: Ruby standard library bigdecimal.
70
+ email:
71
+ - brixen@gmail.com
72
+ executables: []
73
+ extensions:
74
+ - ext/rubysl/bigdecimal/extconf.rb
75
+ extra_rdoc_files: []
76
+ files:
77
+ - .gitignore
78
+ - .travis.yml
79
+ - Gemfile
80
+ - LICENSE
81
+ - README.md
82
+ - Rakefile
83
+ - ext/rubysl/bigdecimal/bigdecimal.c
84
+ - ext/rubysl/bigdecimal/bigdecimal.h
85
+ - ext/rubysl/bigdecimal/extconf.rb
86
+ - lib/bigdecimal.rb
87
+ - lib/bigdecimal/README
88
+ - lib/bigdecimal/bigdecimal_en.html
89
+ - lib/bigdecimal/bigdecimal_ja.html
90
+ - lib/bigdecimal/jacobian.rb
91
+ - lib/bigdecimal/ludcmp.rb
92
+ - lib/bigdecimal/math.rb
93
+ - lib/bigdecimal/newton.rb
94
+ - lib/bigdecimal/sample/linear.rb
95
+ - lib/bigdecimal/sample/nlsolve.rb
96
+ - lib/bigdecimal/sample/pi.rb
97
+ - lib/bigdecimal/util.rb
98
+ - lib/rubysl/bigdecimal.rb
99
+ - lib/rubysl/bigdecimal/version.rb
100
+ - rubysl-bigdecimal.gemspec
101
+ - spec/abs_spec.rb
102
+ - spec/add_spec.rb
103
+ - spec/case_compare_spec.rb
104
+ - spec/ceil_spec.rb
105
+ - spec/coerce_spec.rb
106
+ - spec/comparison_spec.rb
107
+ - spec/div_spec.rb
108
+ - spec/divide_spec.rb
109
+ - spec/divmod_spec.rb
110
+ - spec/double_fig_spec.rb
111
+ - spec/eql_spec.rb
112
+ - spec/equal_value_spec.rb
113
+ - spec/exponent_spec.rb
114
+ - spec/finite_spec.rb
115
+ - spec/fix_spec.rb
116
+ - spec/fixtures/classes.rb
117
+ - spec/floor_spec.rb
118
+ - spec/frac_spec.rb
119
+ - spec/gt_spec.rb
120
+ - spec/gte_spec.rb
121
+ - spec/induced_from_spec.rb
122
+ - spec/infinite_spec.rb
123
+ - spec/inspect_spec.rb
124
+ - spec/limit_spec.rb
125
+ - spec/lt_spec.rb
126
+ - spec/lte_spec.rb
127
+ - spec/minus_spec.rb
128
+ - spec/mode_spec.rb
129
+ - spec/modulo_spec.rb
130
+ - spec/mult_spec.rb
131
+ - spec/multiply_spec.rb
132
+ - spec/nan_spec.rb
133
+ - spec/new_spec.rb
134
+ - spec/nonzero_spec.rb
135
+ - spec/plus_spec.rb
136
+ - spec/power_spec.rb
137
+ - spec/precs_spec.rb
138
+ - spec/quo_spec.rb
139
+ - spec/remainder_spec.rb
140
+ - spec/round_spec.rb
141
+ - spec/shared/eql.rb
142
+ - spec/shared/modulo.rb
143
+ - spec/shared/mult.rb
144
+ - spec/shared/power.rb
145
+ - spec/shared/quo.rb
146
+ - spec/shared/to_int.rb
147
+ - spec/sign_spec.rb
148
+ - spec/split_spec.rb
149
+ - spec/sqrt_spec.rb
150
+ - spec/sub_spec.rb
151
+ - spec/to_f_spec.rb
152
+ - spec/to_i_spec.rb
153
+ - spec/to_int_spec.rb
154
+ - spec/to_s_spec.rb
155
+ - spec/truncate_spec.rb
156
+ - spec/uminus_spec.rb
157
+ - spec/uplus_spec.rb
158
+ - spec/ver_spec.rb
159
+ - spec/zero_spec.rb
160
+ homepage: https://github.com/rubysl/rubysl-bigdecimal
161
+ licenses:
162
+ - BSD
163
+ metadata: {}
164
+ post_install_message:
165
+ rdoc_options: []
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ required_rubygems_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ requirements: []
179
+ rubyforge_project:
180
+ rubygems_version: 2.0.7
181
+ signing_key:
182
+ specification_version: 4
183
+ summary: Ruby standard library bigdecimal.
184
+ test_files:
185
+ - spec/abs_spec.rb
186
+ - spec/add_spec.rb
187
+ - spec/case_compare_spec.rb
188
+ - spec/ceil_spec.rb
189
+ - spec/coerce_spec.rb
190
+ - spec/comparison_spec.rb
191
+ - spec/div_spec.rb
192
+ - spec/divide_spec.rb
193
+ - spec/divmod_spec.rb
194
+ - spec/double_fig_spec.rb
195
+ - spec/eql_spec.rb
196
+ - spec/equal_value_spec.rb
197
+ - spec/exponent_spec.rb
198
+ - spec/finite_spec.rb
199
+ - spec/fix_spec.rb
200
+ - spec/fixtures/classes.rb
201
+ - spec/floor_spec.rb
202
+ - spec/frac_spec.rb
203
+ - spec/gt_spec.rb
204
+ - spec/gte_spec.rb
205
+ - spec/induced_from_spec.rb
206
+ - spec/infinite_spec.rb
207
+ - spec/inspect_spec.rb
208
+ - spec/limit_spec.rb
209
+ - spec/lt_spec.rb
210
+ - spec/lte_spec.rb
211
+ - spec/minus_spec.rb
212
+ - spec/mode_spec.rb
213
+ - spec/modulo_spec.rb
214
+ - spec/mult_spec.rb
215
+ - spec/multiply_spec.rb
216
+ - spec/nan_spec.rb
217
+ - spec/new_spec.rb
218
+ - spec/nonzero_spec.rb
219
+ - spec/plus_spec.rb
220
+ - spec/power_spec.rb
221
+ - spec/precs_spec.rb
222
+ - spec/quo_spec.rb
223
+ - spec/remainder_spec.rb
224
+ - spec/round_spec.rb
225
+ - spec/shared/eql.rb
226
+ - spec/shared/modulo.rb
227
+ - spec/shared/mult.rb
228
+ - spec/shared/power.rb
229
+ - spec/shared/quo.rb
230
+ - spec/shared/to_int.rb
231
+ - spec/sign_spec.rb
232
+ - spec/split_spec.rb
233
+ - spec/sqrt_spec.rb
234
+ - spec/sub_spec.rb
235
+ - spec/to_f_spec.rb
236
+ - spec/to_i_spec.rb
237
+ - spec/to_int_spec.rb
238
+ - spec/to_s_spec.rb
239
+ - spec/truncate_spec.rb
240
+ - spec/uminus_spec.rb
241
+ - spec/uplus_spec.rb
242
+ - spec/ver_spec.rb
243
+ - spec/zero_spec.rb