numb 0.89.0 → 0.96.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.
- data/VERSION +1 -1
- data/lib/numb/doubly_even.rb +5 -0
- data/lib/numb/hamming.rb +6 -0
- data/lib/numb/perrin.rb +10 -0
- data/lib/numb/singly_even.rb +5 -0
- data/lib/numb/square_triangular.rb +5 -0
- data/lib/numb/squared_triangular.rb +5 -0
- data/lib/numb/super_poulet.rb +5 -0
- data/spec/numb/doubly_even_spec.rb +19 -0
- data/spec/numb/hamming_spec.rb +20 -0
- data/spec/numb/perrin_spec.rb +20 -0
- data/spec/numb/singly_even_spec.rb +20 -0
- data/spec/numb/square_triangular_spec.rb +20 -0
- data/spec/numb/squared_triangular_spec.rb +20 -0
- data/spec/numb/super_poulet_spec.rb +19 -0
- data/spec/spec.opts +1 -0
- metadata +23 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.96.0
|
data/lib/numb/hamming.rb
ADDED
data/lib/numb/perrin.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
describe Integer, "#doubly_even?" do
|
2
|
+
# A008586
|
3
|
+
@seq = [0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,
|
4
|
+
68,72,76,80,84,88,92,96,100,104,108,112,116,120,
|
5
|
+
124,128,132,136,140,144,148,152,156,160,164,168,
|
6
|
+
172,176,180,184]
|
7
|
+
|
8
|
+
@seq.each do |n|
|
9
|
+
it "returns true for doubly-even number #{n}" do
|
10
|
+
n.should be_doubly_even
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
@seq.to_seq.invert.each do |n|
|
15
|
+
it "returns false for non-doubly-even number #{n}" do
|
16
|
+
n.should_not be_doubly_even
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
describe Integer, "#hamming?" do
|
2
|
+
# A051037
|
3
|
+
@seq = [1,2,3,4,5,6,8,9,10,12,15,16,18,20,24,25,27,30,32,
|
4
|
+
36,40,45,48,50,54,60,64,72,75,80,81,90,96,100,108,
|
5
|
+
120,125,128,135,144,150,160,162,180,192,200,216,
|
6
|
+
225,240,243,250,256,270,288,300,320,324,360,375,
|
7
|
+
384,400,405]
|
8
|
+
|
9
|
+
@seq.each do |n|
|
10
|
+
it "returns true for Hamming number #{n}" do
|
11
|
+
n.should be_hamming
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@seq.to_seq.invert.sample(100).each do |n|
|
16
|
+
it "returns false for non-Hamming number #{n}" do
|
17
|
+
n.should_not be_hamming
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
describe Integer, "#perrin?" do
|
2
|
+
# A001608
|
3
|
+
@seq = [3,0,2,3,2,5,5,7,10,12,17,22,29,39,51,68,90,119,
|
4
|
+
158,209,277,367,486,644,853,1130,1497,1983,2627,
|
5
|
+
3480,4610,6107,8090,10717,14197,18807,24914,33004,
|
6
|
+
43721,57918,76725,101639,134643,178364,236282,
|
7
|
+
313007]
|
8
|
+
|
9
|
+
@seq.each do |n|
|
10
|
+
it "returns true for Perrin number #{n}" do
|
11
|
+
n.should be_perrin
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@seq.to_seq.invert.sample(100).each do |n|
|
16
|
+
it "returns false for non-Perrin number #{n}" do
|
17
|
+
n.should_not be_perrin
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
describe Integer, "#singly_even?" do
|
2
|
+
# A016825
|
3
|
+
@seq = [2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,
|
4
|
+
70,74,78,82,86,90,94,98,102,106,110,114,118,122,
|
5
|
+
126,130,134,138,142,146,150,154,158,162,166,170,
|
6
|
+
174,178,182,186,190,194,198,202,206,210,214,218,
|
7
|
+
222,226,230,234]
|
8
|
+
|
9
|
+
@seq.each do |n|
|
10
|
+
it "returns true for singly-even number #{n}" do
|
11
|
+
n.should be_singly_even
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@seq.to_seq.invert.each do |n|
|
16
|
+
it "returns false for non-singly-even number #{n}" do
|
17
|
+
n.should_not be_singly_even
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
describe Integer, "#square_triangular?" do
|
2
|
+
# A001110
|
3
|
+
@seq = [0,1,36,1225,41616,1413721,48024900,1631432881,
|
4
|
+
55420693056,1882672131025,63955431761796,
|
5
|
+
2172602007770041,73804512832419600,
|
6
|
+
2507180834294496361,85170343853180456676,
|
7
|
+
2893284510173841030625]
|
8
|
+
|
9
|
+
@seq.each do |n|
|
10
|
+
it "returns true for square triangular number #{n}" do
|
11
|
+
n.should be_square_triangular
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@seq.to_seq.invert.sample(100).each do |n|
|
16
|
+
it "returns false for non-square-triangular number #{n}" do
|
17
|
+
n.should_not be_square_triangular
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
describe Integer, "#squared_triangular?" do
|
2
|
+
# A000537
|
3
|
+
@seq = [0,1,9,36,100,225,441,784,1296,2025,3025,4356,
|
4
|
+
6084,8281,11025,14400,18496,23409,29241,36100,
|
5
|
+
44100,53361,64009,76176,90000,105625,123201,
|
6
|
+
142884,164836,189225,216225,246016,278784,314721,
|
7
|
+
354025]
|
8
|
+
|
9
|
+
@seq.each do |n|
|
10
|
+
it "returns true for squared triangular number #{n}" do
|
11
|
+
n.should be_squared_triangular
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@seq.to_seq.invert.sample(100).each do |n|
|
16
|
+
it "returns false for non-squared-triangular number #{n}" do
|
17
|
+
n.should_not be_squared_triangular
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
describe Integer, "#super_poulet?" do
|
2
|
+
# A050217
|
3
|
+
@seq = [341,1387,2047,2701,3277,4033,4369,4681,5461,7957,
|
4
|
+
8321,10261,13747,14491,15709,18721,19951,23377,
|
5
|
+
31417,31609,31621,35333,42799,49141,49981,60701,
|
6
|
+
60787,65077,65281,80581,83333,85489,88357,90751]
|
7
|
+
|
8
|
+
@seq.each do |n|
|
9
|
+
it "returns true for super-Poulet number #{n}" do
|
10
|
+
n.should be_super_poulet
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
@seq.to_seq.invert.sample(100).each do |n|
|
15
|
+
it "returns false for non-super-Poulet number #{n}" do
|
16
|
+
n.should_not be_super_poulet
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: numb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.96.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Run Paint Run Run
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- lib/numb/deficient.rb
|
72
72
|
- lib/numb/dihedral_prime.rb
|
73
73
|
- lib/numb/dodecagonal.rb
|
74
|
+
- lib/numb/doubly_even.rb
|
74
75
|
- lib/numb/dudeney.rb
|
75
76
|
- lib/numb/economical.rb
|
76
77
|
- lib/numb/emrip.rb
|
@@ -84,6 +85,7 @@ files:
|
|
84
85
|
- lib/numb/friendly.rb
|
85
86
|
- lib/numb/frugal.rb
|
86
87
|
- lib/numb/goldbach.rb
|
88
|
+
- lib/numb/hamming.rb
|
87
89
|
- lib/numb/happy.rb
|
88
90
|
- lib/numb/harshad.rb
|
89
91
|
- lib/numb/heptagonal.rb
|
@@ -127,6 +129,7 @@ files:
|
|
127
129
|
- lib/numb/pentagonal.rb
|
128
130
|
- lib/numb/perfect.rb
|
129
131
|
- lib/numb/perfect_power.rb
|
132
|
+
- lib/numb/perrin.rb
|
130
133
|
- lib/numb/polite.rb
|
131
134
|
- lib/numb/polydivisible.rb
|
132
135
|
- lib/numb/positive.rb
|
@@ -149,6 +152,7 @@ files:
|
|
149
152
|
- lib/numb/self_descriptive.rb
|
150
153
|
- lib/numb/semiperfect.rb
|
151
154
|
- lib/numb/semiprime.rb
|
155
|
+
- lib/numb/singly_even.rb
|
152
156
|
- lib/numb/smarandache_wellin.rb
|
153
157
|
- lib/numb/smith.rb
|
154
158
|
- lib/numb/smooth.rb
|
@@ -157,10 +161,13 @@ files:
|
|
157
161
|
- lib/numb/sphenic.rb
|
158
162
|
- lib/numb/square.rb
|
159
163
|
- lib/numb/square_free.rb
|
164
|
+
- lib/numb/square_triangular.rb
|
165
|
+
- lib/numb/squared_triangular.rb
|
160
166
|
- "lib/numb/st\xC3\xB8rmer.rb"
|
161
167
|
- lib/numb/sublime.rb
|
162
168
|
- lib/numb/sum_of_squares.rb
|
163
169
|
- lib/numb/sum_of_unitary_divisors.rb
|
170
|
+
- lib/numb/super_poulet.rb
|
164
171
|
- lib/numb/superabundant.rb
|
165
172
|
- lib/numb/superperfect.rb
|
166
173
|
- lib/numb/totient.rb
|
@@ -213,6 +220,7 @@ files:
|
|
213
220
|
- spec/numb/dihedral_prime_spec.rb
|
214
221
|
- spec/numb/divides_spec.rb
|
215
222
|
- spec/numb/dodecagonal_spec.rb
|
223
|
+
- spec/numb/doubly_even_spec.rb
|
216
224
|
- spec/numb/dudeney_spec.rb
|
217
225
|
- spec/numb/economical_spec.rb
|
218
226
|
- spec/numb/emrip_spec.rb
|
@@ -226,6 +234,7 @@ files:
|
|
226
234
|
- spec/numb/friendly_spec.rb
|
227
235
|
- spec/numb/frugal_spec.rb
|
228
236
|
- spec/numb/goldbach_spec.rb
|
237
|
+
- spec/numb/hamming_spec.rb
|
229
238
|
- spec/numb/happy_spec.rb
|
230
239
|
- spec/numb/harshad_spec.rb
|
231
240
|
- spec/numb/heptagonal_spec.rb
|
@@ -267,6 +276,7 @@ files:
|
|
267
276
|
- spec/numb/pentagonal_spec.rb
|
268
277
|
- spec/numb/perfect_power_spec.rb
|
269
278
|
- spec/numb/perfect_spec.rb
|
279
|
+
- spec/numb/perrin_spec.rb
|
270
280
|
- spec/numb/polite_spec.rb
|
271
281
|
- spec/numb/politeness_spec.rb
|
272
282
|
- spec/numb/polydivisible_spec.rb
|
@@ -290,6 +300,7 @@ files:
|
|
290
300
|
- spec/numb/self_spec.rb
|
291
301
|
- spec/numb/semi_perfect_spec.rb
|
292
302
|
- spec/numb/semiprime_spec.rb
|
303
|
+
- spec/numb/singly_even_spec.rb
|
293
304
|
- spec/numb/smarandache_wellin_spec.rb
|
294
305
|
- spec/numb/smith_spec.rb
|
295
306
|
- spec/numb/smooth_spec.rb
|
@@ -298,10 +309,13 @@ files:
|
|
298
309
|
- spec/numb/sphenic_spec.rb
|
299
310
|
- spec/numb/square_free_spec.rb
|
300
311
|
- spec/numb/square_spec.rb
|
312
|
+
- spec/numb/square_triangular_spec.rb
|
313
|
+
- spec/numb/squared_triangular_spec.rb
|
301
314
|
- "spec/numb/st\xC3\xB8rmer_spec.rb"
|
302
315
|
- spec/numb/sublime_spec.rb
|
303
316
|
- spec/numb/sum_of_squares_spec.rb
|
304
317
|
- spec/numb/sum_of_unitary_divisors_spec.rb
|
318
|
+
- spec/numb/super_poulet_spec.rb
|
305
319
|
- spec/numb/superabundant_spec.rb
|
306
320
|
- spec/numb/superperfect_spec.rb
|
307
321
|
- spec/numb/totient_spec.rb
|
@@ -322,6 +336,7 @@ files:
|
|
322
336
|
- spec/numb/woodall_spec.rb
|
323
337
|
- spec/numb/zeisel_spec.rb
|
324
338
|
- spec/numb/zerofree_spec.rb
|
339
|
+
- spec/spec.opts
|
325
340
|
- spec/spec_helper.rb
|
326
341
|
has_rdoc: yard
|
327
342
|
homepage: http://github.com/runpaint/numb
|
@@ -387,6 +402,7 @@ test_files:
|
|
387
402
|
- spec/numb/abundancy_spec.rb
|
388
403
|
- spec/numb/polite_spec.rb
|
389
404
|
- spec/numb/unitary_amicable_spec.rb
|
405
|
+
- spec/numb/squared_triangular_spec.rb
|
390
406
|
- spec/numb/zerofree_spec.rb
|
391
407
|
- spec/numb/automorphic_spec.rb
|
392
408
|
- spec/numb/minimal_spec.rb
|
@@ -407,6 +423,8 @@ test_files:
|
|
407
423
|
- spec/numb/nth_prime_spec.rb
|
408
424
|
- spec/numb/poulet_spec.rb
|
409
425
|
- spec/numb/congruum_spec.rb
|
426
|
+
- spec/numb/hamming_spec.rb
|
427
|
+
- spec/numb/doubly_even_spec.rb
|
410
428
|
- spec/numb/safe_prime_spec.rb
|
411
429
|
- spec/numb/sublime_spec.rb
|
412
430
|
- spec/numb/refactorable_spec.rb
|
@@ -421,6 +439,7 @@ test_files:
|
|
421
439
|
- spec/numb/sphenic_spec.rb
|
422
440
|
- spec/numb/idoneal_spec.rb
|
423
441
|
- spec/numb/sum_of_unitary_divisors_spec.rb
|
442
|
+
- spec/numb/square_triangular_spec.rb
|
424
443
|
- spec/numb/lucas_carmichael_spec.rb
|
425
444
|
- spec/numb/rhonda_spec.rb
|
426
445
|
- spec/numb/totient_spec.rb
|
@@ -471,6 +490,8 @@ test_files:
|
|
471
490
|
- spec/numb/binomial_spec.rb
|
472
491
|
- spec/numb/digital_sum_spec.rb
|
473
492
|
- spec/numb/brown_spec.rb
|
493
|
+
- spec/numb/perrin_spec.rb
|
494
|
+
- spec/numb/super_poulet_spec.rb
|
474
495
|
- spec/numb/factorion_spec.rb
|
475
496
|
- spec/numb/undulating_spec.rb
|
476
497
|
- spec/numb/extravagant_spec.rb
|
@@ -486,6 +507,7 @@ test_files:
|
|
486
507
|
- spec/numb/achilles_spec.rb
|
487
508
|
- spec/numb/coprime_spec.rb
|
488
509
|
- spec/numb/almost_prime_spec.rb
|
510
|
+
- spec/numb/singly_even_spec.rb
|
489
511
|
- spec/numb/pronic_spec.rb
|
490
512
|
- spec/numb/politeness_spec.rb
|
491
513
|
- spec/numb/noncototient_spec.rb
|