combinatorics 0.3.0 → 0.4.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.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/.document +1 -1
  3. data/.gemtest +0 -0
  4. data/.github/workflows/ruby.yml +28 -0
  5. data/.gitignore +4 -5
  6. data/Benchmarks.md +281 -0
  7. data/ChangeLog.md +42 -0
  8. data/Gemfile +14 -0
  9. data/LICENSE.txt +1 -2
  10. data/README.md +178 -69
  11. data/Rakefile +7 -27
  12. data/benchmarks/cartesian_product.rb +18 -0
  13. data/benchmarks/choose.rb +19 -0
  14. data/benchmarks/derange.rb +18 -0
  15. data/benchmarks/list_comprehension.rb +20 -4
  16. data/benchmarks/permute.rb +18 -0
  17. data/benchmarks/power_set.rb +18 -0
  18. data/combinatorics.gemspec +54 -83
  19. data/gemspec.yml +25 -0
  20. data/lib/combinatorics/cartesian_product/cardinality.rb +45 -0
  21. data/lib/combinatorics/cartesian_product/extensions/array.rb +7 -0
  22. data/lib/combinatorics/cartesian_product/extensions/set.rb +9 -0
  23. data/lib/combinatorics/cartesian_product/extensions.rb +2 -0
  24. data/lib/combinatorics/cartesian_product/mixin.rb +57 -0
  25. data/lib/combinatorics/cartesian_product.rb +3 -0
  26. data/lib/combinatorics/choose/cardinality.rb +99 -0
  27. data/lib/combinatorics/choose/extensions/array.rb +5 -0
  28. data/lib/combinatorics/choose/extensions/set.rb +6 -0
  29. data/lib/combinatorics/choose/extensions.rb +2 -0
  30. data/lib/combinatorics/choose/mixin.rb +53 -0
  31. data/lib/combinatorics/choose.rb +3 -0
  32. data/lib/combinatorics/derange/cardinality.rb +23 -0
  33. data/lib/combinatorics/derange/extensions/array.rb +5 -0
  34. data/lib/combinatorics/derange/extensions.rb +1 -0
  35. data/lib/combinatorics/derange/mixin.rb +47 -0
  36. data/lib/combinatorics/derange.rb +3 -0
  37. data/lib/combinatorics/enumerator.rb +2 -0
  38. data/lib/combinatorics/extensions/math.rb +176 -0
  39. data/lib/combinatorics/extensions/range.rb +2 -2
  40. data/lib/combinatorics/generator.rb +7 -4
  41. data/lib/combinatorics/list_comprehension.rb +6 -1
  42. data/lib/combinatorics/permute/cardinality.rb +98 -0
  43. data/lib/combinatorics/permute/extensions/array.rb +7 -0
  44. data/lib/combinatorics/permute/extensions/set.rb +9 -0
  45. data/lib/combinatorics/permute/extensions.rb +2 -0
  46. data/lib/combinatorics/permute/mixin.rb +48 -0
  47. data/lib/combinatorics/permute.rb +3 -0
  48. data/lib/combinatorics/power_set/cardinality.rb +36 -0
  49. data/lib/combinatorics/power_set/mixin.rb +19 -22
  50. data/lib/combinatorics/power_set.rb +1 -0
  51. data/lib/combinatorics/version.rb +4 -0
  52. data/lib/combinatorics.rb +8 -0
  53. data/spec/cartesian_product/array_spec.rb +10 -0
  54. data/spec/cartesian_product/cardinality_spec.rb +64 -0
  55. data/spec/cartesian_product/mixin_examples.rb +98 -0
  56. data/spec/cartesian_product/set_spec.rb +10 -0
  57. data/spec/choose/array_spec.rb +9 -0
  58. data/spec/choose/cardinality_spec.rb +132 -0
  59. data/spec/choose/mixin_examples.rb +48 -0
  60. data/spec/choose/set_spec.rb +9 -0
  61. data/spec/combinatorics_spec.rb +5 -1
  62. data/spec/derange/array_spec.rb +10 -0
  63. data/spec/derange/cardinality_spec.rb +14 -0
  64. data/spec/derange/mixin_examples.rb +52 -0
  65. data/spec/enumerator_spec.rb +1 -1
  66. data/spec/extensions/math_spec.rb +100 -0
  67. data/spec/extensions/range_spec.rb +13 -13
  68. data/spec/generator_spec.rb +1 -1
  69. data/spec/list_comprehension_spec.rb +11 -11
  70. data/spec/permute/array_spec.rb +10 -0
  71. data/spec/permute/cardinality_spec.rb +146 -0
  72. data/spec/permute/mixin_examples.rb +42 -0
  73. data/spec/permute/set_spec.rb +10 -0
  74. data/spec/power_set/array_spec.rb +3 -2
  75. data/spec/power_set/cardinality_spec.rb +32 -0
  76. data/spec/power_set/mixin_examples.rb +17 -8
  77. data/spec/power_set/set_spec.rb +3 -2
  78. data/spec/spec_helper.rb +3 -3
  79. metadata +106 -104
  80. data/VERSION +0 -1
@@ -0,0 +1,146 @@
1
+ require 'spec_helper'
2
+ require 'combinatorics/permute'
3
+
4
+ describe Permute do
5
+ subject { Permute }
6
+
7
+ describe "cardinality" do
8
+ it "should raise RangeError if n is negative without passing r" do
9
+ expect { subject.cardinality(-1) }.to raise_error(RangeError)
10
+ end
11
+
12
+ it "should raise RangeError if n is negative when r is provided" do
13
+ expect { subject.cardinality(-1, 1) }.to raise_error(RangeError)
14
+ end
15
+
16
+ it "should raise RangeError if r is negative" do
17
+ expect { subject.cardinality(1, -1) }.to raise_error(RangeError)
18
+ end
19
+
20
+ it "should raise RangeError if r is greater than n" do
21
+ expect { subject.cardinality(2, 3) }.to raise_error(RangeError)
22
+ end
23
+
24
+ it "should return 1 for subject.cardinality(0)" do
25
+ expect(subject.cardinality(0)).to eq(1)
26
+ end
27
+
28
+ it "should return 1 for subject.cardinality(1)" do
29
+ expect(subject.cardinality(1)).to eq(1)
30
+ end
31
+
32
+ it "should return 2 for subject.cardinality(2)" do
33
+ expect(subject.cardinality(2)).to eq(2)
34
+ end
35
+
36
+ it "should return 6 for subject.cardinality(3)" do
37
+ expect(subject.cardinality(3)).to eq(6)
38
+ end
39
+
40
+ it "should return 24 for subject.cardinality(4)" do
41
+ expect(subject.cardinality(4)).to eq(24)
42
+ end
43
+
44
+ it "should return 0 for subject.cardinality(1, 0)" do
45
+ expect(subject.cardinality(1, 0)).to eq(0)
46
+ end
47
+
48
+ it "should return 1 for subject.cardinality(1, 1)" do
49
+ expect(subject.cardinality(1, 1)).to eq(1)
50
+ end
51
+
52
+ it "should return 2 for subject.cardinality(2, 1)" do
53
+ expect(subject.cardinality(2, 1)).to eq(2)
54
+ end
55
+
56
+ it "should return 1 for subject.cardinality(2, 2)" do
57
+ expect(subject.cardinality(2, 2)).to eq(2)
58
+ end
59
+
60
+ it "should return 3 for subject.cardinality(3, 1)" do
61
+ expect(subject.cardinality(3, 1)).to eq(3)
62
+ end
63
+
64
+ it "should return 3 for subject.cardinality(3, 2)" do
65
+ expect(subject.cardinality(3, 2)).to eq(6)
66
+ end
67
+
68
+ it "should return 1 for subject.cardinality(3, 3)" do
69
+ expect(subject.cardinality(3, 3)).to eq(6)
70
+ end
71
+
72
+ it "should return 4 for subject.cardinality(4, 1)" do
73
+ expect(subject.cardinality(4, 1)).to eq(4)
74
+ end
75
+
76
+ it "should return 12 for subject.cardinality(4, 2)" do
77
+ expect(subject.cardinality(4, 2)).to eq(12)
78
+ end
79
+
80
+ it "should return 24 for subject.cardinality(4, 3)" do
81
+ expect(subject.cardinality(4, 3)).to eq(24)
82
+ end
83
+
84
+ it "should return 1 for subject.cardinality(4, 4)" do
85
+ expect(subject.cardinality(4, 4)).to eq(24)
86
+ end
87
+
88
+ it "should return 360 for subject.cardinality(6, 4)" do
89
+ expect(subject.cardinality(6, 4)).to eq(360)
90
+ end
91
+
92
+ it "should return 3628800 for subject.cardinality(10)" do
93
+ expect(subject.cardinality(10)).to eq(3628800)
94
+ end
95
+ end
96
+
97
+ describe "cardinality_all" do
98
+ it "should return [] for cardinality_all(0)" do
99
+ expect(subject.cardinality_all(0)).to be_empty
100
+ end
101
+
102
+ it "should return [1] for cardinality_all(1)" do
103
+ expect(subject.cardinality_all(1)).to eq([1])
104
+ end
105
+
106
+ it "should return [2, 1] for cardinality_all(2)" do
107
+ expect(subject.cardinality_all(2)).to eq([2, 2])
108
+ end
109
+
110
+ it "should return [3, 6, 1] for cardinality_all(3)" do
111
+ expect(subject.cardinality_all(3)).to eq([3, 6, 6])
112
+ end
113
+
114
+ it "should return [4, 12, 24, 1] for cardinality_all(4)" do
115
+ expect(subject.cardinality_all(4)).to eq([4, 12, 24, 24])
116
+ end
117
+
118
+ it "should raise RangeError for cardinality_all(-1)" do
119
+ expect { subject.cardinality_all(-1) }.to raise_error(RangeError)
120
+ end
121
+
122
+ it "should wrap cardinality with Permute.N" do
123
+ should respond_to(:N)
124
+ end
125
+
126
+ it "should wrap cardinalith with Permute.R" do
127
+ should respond_to(:R)
128
+ end
129
+
130
+ it "should wrap cardinality with Permute.NR" do
131
+ should respond_to(:NR)
132
+ end
133
+
134
+ it "should alias cardinality_all to N_all" do
135
+ should respond_to(:N_all)
136
+ end
137
+
138
+ it "should alias cardinality_all to NR_all" do
139
+ should respond_to(:NR_all)
140
+ end
141
+
142
+ it "should alias cardinality_all to R_all" do
143
+ should respond_to(:R_all)
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ require 'combinatorics/permute'
4
+
5
+ shared_examples_for "Permute::Mixin" do
6
+ describe "#permute" do
7
+ it "should return [[]] for [].permute(0).to_a" do
8
+ set = subject[]
9
+ results = set.permute(0).to_a
10
+
11
+ expect(results).to eq([[]])
12
+ end
13
+
14
+ it "should return [[]] for [1].permute(0).to_a" do
15
+ set = subject[1]
16
+ results = set.permute(0).to_a
17
+
18
+ expect(results).to eq([[]])
19
+ end
20
+
21
+ it "should return [[1]] for [1].permute(1).to_a" do
22
+ set = subject[1]
23
+ results = set.permute(1).to_a
24
+
25
+ expect(results).to eq([[1]])
26
+ end
27
+
28
+ it "should return [[1], [2]] for [1, 2].permute(1).to_a" do
29
+ set = subject[1, 2]
30
+ results = set.permute(1).to_a
31
+
32
+ expect(results).to match_array([[1], [2]])
33
+ end
34
+
35
+ it "should return [[1, 2]] for [1, 2].permute(2).to_a" do
36
+ set = subject[1, 2]
37
+ results = set.permute(2).to_a
38
+
39
+ expect(results).to match_array([[1, 2], [2, 1]])
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+ require 'permute/mixin_examples'
3
+
4
+ require 'combinatorics/permute/extensions/set'
5
+
6
+ describe Set do
7
+ subject { Set }
8
+
9
+ it_should_behave_like "Permute::Mixin"
10
+ end
@@ -1,9 +1,10 @@
1
1
  require 'spec_helper'
2
- require 'combinatorics/power_set/extensions/array'
3
2
  require 'power_set/mixin_examples'
4
3
 
4
+ require 'combinatorics/power_set/extensions/array'
5
+
5
6
  describe Array do
6
7
  subject { Array }
7
8
 
8
- it_should_behave_like "Combinatorics::PowerSet::Mixin"
9
+ it_should_behave_like "PowerSet::Mixin"
9
10
  end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+ require 'combinatorics/power_set'
3
+
4
+ describe PowerSet do
5
+ subject { PowerSet }
6
+
7
+ describe "cardinality" do
8
+ it "should return 1 for cardinality(0)" do
9
+ subject.cardinality(0) == 1
10
+ end
11
+
12
+ it "should return 1 for cardinality(1)" do
13
+ subject.cardinality(1) == 1
14
+ end
15
+
16
+ it "should return 2 for cardinality(2)" do
17
+ subject.cardinality(2) == 2
18
+ end
19
+
20
+ it "should return 6 for cardinality(3)" do
21
+ subject.cardinality(3) == 6
22
+ end
23
+
24
+ it "should return 24 for cardinality(4)" do
25
+ subject.cardinality(4) == 24
26
+ end
27
+ end
28
+
29
+ it "should wrap cardinality with PowerSet.P" do
30
+ should respond_to(:P)
31
+ end
32
+ end
@@ -1,25 +1,34 @@
1
- shared_examples_for "Combinatorics::PowerSet::Mixin" do
1
+ require 'spec_helper'
2
+
3
+ require 'combinatorics/power_set'
4
+
5
+ shared_examples_for "PowerSet::Mixin" do
6
+ let(:empty_set) { Set[] }
7
+
2
8
  it "the powerset of an empty Set should only contain the empty Set" do
3
9
  set = subject[]
4
10
 
5
- set.powerset.should == [set]
11
+ expect(set.powerset.to_a).to eq([empty_set])
6
12
  end
7
13
 
8
14
  it "the powerset of a single Set should contain that Set" do
9
15
  set = subject[1]
10
16
 
11
- set.powerset.should == [subject[], set]
17
+ expect(set.powerset.to_a).to eq([empty_set, Set[*set]])
12
18
  end
13
19
 
14
20
  it "the powerset of a Set should all be subsets" do
15
- set = subject[1,2,3]
21
+ set = subject[1, 2, 3]
22
+ superset = Set[]
16
23
 
17
- set.powerset.each { |subset| (set & subset).should == subset }
24
+ set.powerset { |subset| superset += subset }
25
+
26
+ expect(superset).to eq(Set[*set])
18
27
  end
19
28
 
20
- it "should alias cartesian_product to powerset" do
21
- set = subject[1,2,3]
29
+ it "should alias powerset to power_set" do
30
+ set = subject[1]
22
31
 
23
- set.cartesian_product.should == set.powerset
32
+ expect(set).to respond_to(:power_set)
24
33
  end
25
34
  end
@@ -1,9 +1,10 @@
1
1
  require 'spec_helper'
2
- require 'combinatorics/power_set/extensions/set'
3
2
  require 'power_set/mixin_examples'
4
3
 
4
+ require 'combinatorics/power_set/extensions/set'
5
+
5
6
  describe Set do
6
7
  subject { Set }
7
8
 
8
- it_should_behave_like "Combinatorics::PowerSet::Mixin"
9
+ it_should_behave_like "PowerSet::Mixin"
9
10
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'rubygems'
2
-
3
- gem 'rspec', '~> 2.0.0'
4
1
  require 'rspec'
2
+ require 'combinatorics/version'
3
+
4
+ include Combinatorics
metadata CHANGED
@@ -1,149 +1,151 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: combinatorics
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 3
8
- - 0
9
- version: 0.3.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.4
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Postmodern
13
- autorequire:
8
+ - Duper
9
+ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-10-17 00:00:00 -07:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: rspec
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 2
30
- - 0
31
- - 0
32
- version: 2.0.0
33
- type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: yard
37
- prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 0
45
- - 6
46
- - 0
47
- version: 0.6.0
12
+ date: 2022-01-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '2.0'
48
21
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: jeweler
52
22
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ~>
57
- - !ruby/object:Gem::Version
58
- segments:
59
- - 1
60
- - 4
61
- - 0
62
- version: 1.4.0
63
- type: :development
64
- version_requirements: *id003
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '2.0'
65
28
  description: A collection of modules and methods for performing Combinatoric calculations.
66
- email: postmodern.mod3@gmail.com
29
+ email:
30
+ - postmodern.mod3@gmail.com
31
+ - super@manson.vistech.net
67
32
  executables: []
68
-
69
33
  extensions: []
70
-
71
- extra_rdoc_files:
34
+ extra_rdoc_files:
35
+ - Benchmarks.md
72
36
  - ChangeLog.md
73
37
  - LICENSE.txt
74
38
  - README.md
75
- files:
76
- - .document
77
- - .gitignore
78
- - .rspec
79
- - .yardopts
39
+ files:
40
+ - ".document"
41
+ - ".gemtest"
42
+ - ".github/workflows/ruby.yml"
43
+ - ".gitignore"
44
+ - ".rspec"
45
+ - ".yardopts"
46
+ - Benchmarks.md
80
47
  - ChangeLog.md
48
+ - Gemfile
81
49
  - LICENSE.txt
82
50
  - README.md
83
51
  - Rakefile
84
- - VERSION
52
+ - benchmarks/cartesian_product.rb
53
+ - benchmarks/choose.rb
54
+ - benchmarks/derange.rb
85
55
  - benchmarks/list_comprehension.rb
56
+ - benchmarks/permute.rb
57
+ - benchmarks/power_set.rb
86
58
  - combinatorics.gemspec
59
+ - gemspec.yml
87
60
  - lib/combinatorics.rb
61
+ - lib/combinatorics/cartesian_product.rb
62
+ - lib/combinatorics/cartesian_product/cardinality.rb
63
+ - lib/combinatorics/cartesian_product/extensions.rb
64
+ - lib/combinatorics/cartesian_product/extensions/array.rb
65
+ - lib/combinatorics/cartesian_product/extensions/set.rb
66
+ - lib/combinatorics/cartesian_product/mixin.rb
67
+ - lib/combinatorics/choose.rb
68
+ - lib/combinatorics/choose/cardinality.rb
69
+ - lib/combinatorics/choose/extensions.rb
70
+ - lib/combinatorics/choose/extensions/array.rb
71
+ - lib/combinatorics/choose/extensions/set.rb
72
+ - lib/combinatorics/choose/mixin.rb
73
+ - lib/combinatorics/derange.rb
74
+ - lib/combinatorics/derange/cardinality.rb
75
+ - lib/combinatorics/derange/extensions.rb
76
+ - lib/combinatorics/derange/extensions/array.rb
77
+ - lib/combinatorics/derange/mixin.rb
88
78
  - lib/combinatorics/enumerator.rb
89
79
  - lib/combinatorics/extensions.rb
80
+ - lib/combinatorics/extensions/math.rb
90
81
  - lib/combinatorics/extensions/range.rb
91
82
  - lib/combinatorics/generator.rb
92
83
  - lib/combinatorics/list_comprehension.rb
84
+ - lib/combinatorics/permute.rb
85
+ - lib/combinatorics/permute/cardinality.rb
86
+ - lib/combinatorics/permute/extensions.rb
87
+ - lib/combinatorics/permute/extensions/array.rb
88
+ - lib/combinatorics/permute/extensions/set.rb
89
+ - lib/combinatorics/permute/mixin.rb
93
90
  - lib/combinatorics/power_set.rb
91
+ - lib/combinatorics/power_set/cardinality.rb
94
92
  - lib/combinatorics/power_set/extensions.rb
95
93
  - lib/combinatorics/power_set/extensions/array.rb
96
94
  - lib/combinatorics/power_set/extensions/set.rb
97
95
  - lib/combinatorics/power_set/mixin.rb
96
+ - lib/combinatorics/version.rb
98
97
  - spec/.rspec
98
+ - spec/cartesian_product/array_spec.rb
99
+ - spec/cartesian_product/cardinality_spec.rb
100
+ - spec/cartesian_product/mixin_examples.rb
101
+ - spec/cartesian_product/set_spec.rb
102
+ - spec/choose/array_spec.rb
103
+ - spec/choose/cardinality_spec.rb
104
+ - spec/choose/mixin_examples.rb
105
+ - spec/choose/set_spec.rb
99
106
  - spec/combinatorics_spec.rb
107
+ - spec/derange/array_spec.rb
108
+ - spec/derange/cardinality_spec.rb
109
+ - spec/derange/mixin_examples.rb
100
110
  - spec/enumerator_spec.rb
111
+ - spec/extensions/math_spec.rb
101
112
  - spec/extensions/range_spec.rb
102
113
  - spec/generator_spec.rb
103
114
  - spec/list_comprehension_spec.rb
115
+ - spec/permute/array_spec.rb
116
+ - spec/permute/cardinality_spec.rb
117
+ - spec/permute/mixin_examples.rb
118
+ - spec/permute/set_spec.rb
104
119
  - spec/power_set/array_spec.rb
120
+ - spec/power_set/cardinality_spec.rb
105
121
  - spec/power_set/mixin_examples.rb
106
122
  - spec/power_set/set_spec.rb
107
123
  - spec/spec_helper.rb
108
- has_rdoc: true
109
- homepage: http://github.com/postmodern/combinatorics
110
- licenses: []
111
-
112
- post_install_message:
113
- rdoc_options:
114
- - --charset=UTF-8
115
- require_paths:
124
+ homepage: https://github.com/postmodern/combinatorics#readme
125
+ licenses:
126
+ - MIT
127
+ metadata:
128
+ documentation_uri: https://rubydoc.info/gems/combinatorics
129
+ source_code_uri: https://github.com/postmodern/combinatorics.rb
130
+ bug_tracker_uri: https://github.com/postmodern/combinatorics.rb/issues
131
+ changelog_uri: https://github.com/postmodern/combinatorics.rb/blob/master/ChangeLog.md
132
+ post_install_message:
133
+ rdoc_options: []
134
+ require_paths:
116
135
  - lib
117
- required_ruby_version: !ruby/object:Gem::Requirement
118
- none: false
119
- requirements:
136
+ required_ruby_version: !ruby/object:Gem::Requirement
137
+ requirements:
120
138
  - - ">="
121
- - !ruby/object:Gem::Version
122
- segments:
123
- - 0
124
- version: "0"
125
- required_rubygems_version: !ruby/object:Gem::Requirement
126
- none: false
127
- requirements:
139
+ - !ruby/object:Gem::Version
140
+ version: 1.8.7
141
+ required_rubygems_version: !ruby/object:Gem::Requirement
142
+ requirements:
128
143
  - - ">="
129
- - !ruby/object:Gem::Version
130
- segments:
131
- - 0
132
- version: "0"
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
133
146
  requirements: []
134
-
135
- rubyforge_project:
136
- rubygems_version: 1.3.7
137
- signing_key:
138
- specification_version: 3
147
+ rubygems_version: 3.2.22
148
+ signing_key:
149
+ specification_version: 4
139
150
  summary: Bringing (more) Combinatorics to Ruby
140
- test_files:
141
- - spec/enumerator_spec.rb
142
- - spec/combinatorics_spec.rb
143
- - spec/list_comprehension_spec.rb
144
- - spec/generator_spec.rb
145
- - spec/extensions/range_spec.rb
146
- - spec/spec_helper.rb
147
- - spec/power_set/set_spec.rb
148
- - spec/power_set/array_spec.rb
149
- - spec/power_set/mixin_examples.rb
151
+ test_files: []
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.0