fraction-tree 2.1.1 → 2.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 829e0e03c9678bf23d5fd2762e0f78752fde5f9767d753af4eeb311c568adbc1
4
- data.tar.gz: d5374255c2f4b844a215699534ebd654452824de5bc427f76036e04e4cb9b850
3
+ metadata.gz: c93c771b15dc11f618cc27bff33524f7feb80bdf1310c811f53db3de5898c015
4
+ data.tar.gz: c40130bcc10af5a231b559d70911f728b41ee755b02e7b740fbd33fc1bb0323f
5
5
  SHA512:
6
- metadata.gz: f1fff34fb57bb40e13926686ee22113ceadf0f8a11ede4d4cb81b5fff388427c210e04320b3bcf92b31220d7021419b51d9c8c9d172ca525b9d8e886651d7b4b
7
- data.tar.gz: cc40330432c1ce4adce30507041a11ca55816bbc67710178388414cc6ca78b70c028c4fb98078ad75342f2f04c352d83404fb4402dd1297201512d8edba0ae57
6
+ metadata.gz: f4c530b0352f93e6b8d94d302fcb178190c82946b072c2810cab3f941fbafbba432c9e789a444a87c74afeb729d33aca60871cdd309092ff7dab4c589fc28d75
7
+ data.tar.gz: 32ad67a615865017e466dc5f421492ecb3df40039477ea020aecbff648342fb2f9a24d70e6ddf2baf6fbeb8a761620d4f53741da8c56a4eb9493df7643a9b10a
@@ -53,7 +53,8 @@ class FractionTree
53
53
  # @example
54
54
  # FractionTree.range = :farey
55
55
  # => (0/1..1/1)
56
- # @note Accepts keywords:
56
+ # @param rhs [Symbol] the range to set
57
+ # @note supported symbols:
57
58
  # :farey, :keyboard, :scale_step, :log2 => (0/1..1/1)
58
59
  # :stern_brocot, :scale => (0/1..1/0)
59
60
  # :octave_reduced => (1/1..2/1)
@@ -88,6 +89,7 @@ class FractionTree
88
89
  # @return [FractionTree::Node] the node in the tree representing the given number
89
90
  # @example
90
91
  # FractionTree.node(3/2r) => (3/2)
92
+ # @param number [Numeric] the number to find in the tree
91
93
  #
92
94
  def node(number)
93
95
  validate(number)
@@ -97,6 +99,7 @@ class FractionTree
97
99
  # @return [FractionTree::Node] the node decoded from the given string
98
100
  # @example
99
101
  # FractionTree.decode("RLL") => (4/3)
102
+ # @param str [String] the Stern-Brocot encoding of the number
100
103
  #
101
104
  def decode(str)
102
105
  wrk_node = Node.decode(str)
@@ -106,6 +109,8 @@ class FractionTree
106
109
  # @return [FractionTree::Node] the mediant sum of the given numbers
107
110
  # @example
108
111
  # FractionTree.mediant_sum(3/2r, 4/3r) => (7/5)
112
+ # @param n1 [Rational] one of two numbers to sum
113
+ # @param n2 [Rational] two of two numbers to sum
109
114
  #
110
115
  def mediant_sum(n1, n2)
111
116
  Node.new(n1) + Node.new(n2)
@@ -134,7 +139,6 @@ class FractionTree
134
139
  # [(1/1)],
135
140
  # [(1/2), (2/1)],
136
141
  # [(1/3), (2/3), (3/2), (3/1)]]
137
- #
138
142
  # @param depth [Integer] the depth of the tree
139
143
  # @param left_node [FractionTree::Node] the left starting node
140
144
  # @param right_node [FractionTree::Node] the right starting node
@@ -163,7 +167,6 @@ class FractionTree
163
167
  # @example
164
168
  # FractionTree.child_of(1/1r, 4/3r) => (5/4)
165
169
  # FractionTree.child_of(7/4r, 4/3r) => nil
166
- #
167
170
  # @param number1 [Rational] one of two parents
168
171
  # @param number2 [Rational] two of two parents
169
172
  # @note return nil if bc - ad |= 1, for a/b, c/d
@@ -191,12 +194,12 @@ class FractionTree
191
194
 
192
195
  # @return [Array] a sequence of fraction tree nodes
193
196
  # @example
194
- # FractionTree.new.sequence(3)
197
+ # FractionTree.sequence(depth: 3)
195
198
  # => [(0/1), (1/3), (1/2), (2/3), (1/1), (3/2), (2/1), (3/1), (1/0)]
196
199
  #
197
200
  # @param depth [Integer] the number of iterations of the algorithm to run. The number of nodes returned will be greater
198
201
  # @param left_node [FractionTree::Node] the left starting node
199
- # @param right_node [FractionTree::Node] the right starting node
202
+ # @param right_node [FractionTree::Node] the right starting node
200
203
  #
201
204
  def sequence(depth: 5, left_node: default_left_node, right_node: default_right_node)
202
205
  [left_node]+_sequence(depth:, left_node:, right_node:)+[right_node]
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fraction-tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jose Hales-Garcia
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-05 00:00:00.000000000 Z
10
+ date: 2026-01-27 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: matrix
@@ -16,42 +15,56 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '0.4'
18
+ version: '0'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '0.4'
25
+ version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: bigdecimal
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3'
27
40
  - !ruby/object:Gem::Dependency
28
41
  name: forwardable
29
42
  requirement: !ruby/object:Gem::Requirement
30
43
  requirements:
31
44
  - - "~>"
32
45
  - !ruby/object:Gem::Version
33
- version: '1.3'
46
+ version: '1'
34
47
  type: :runtime
35
48
  prerelease: false
36
49
  version_requirements: !ruby/object:Gem::Requirement
37
50
  requirements:
38
51
  - - "~>"
39
52
  - !ruby/object:Gem::Version
40
- version: '1.3'
53
+ version: '1'
41
54
  - !ruby/object:Gem::Dependency
42
55
  name: continued_fractions
43
56
  requirement: !ruby/object:Gem::Requirement
44
57
  requirements:
45
58
  - - "~>"
46
59
  - !ruby/object:Gem::Version
47
- version: '2.1'
60
+ version: '2'
48
61
  type: :runtime
49
62
  prerelease: false
50
63
  version_requirements: !ruby/object:Gem::Requirement
51
64
  requirements:
52
65
  - - "~>"
53
66
  - !ruby/object:Gem::Version
54
- version: '2.1'
67
+ version: '2'
55
68
  - !ruby/object:Gem::Dependency
56
69
  name: rspec
57
70
  requirement: !ruby/object:Gem::Requirement
@@ -72,42 +85,42 @@ dependencies:
72
85
  requirements:
73
86
  - - "~>"
74
87
  - !ruby/object:Gem::Version
75
- version: '11.1'
88
+ version: '13'
76
89
  type: :development
77
90
  prerelease: false
78
91
  version_requirements: !ruby/object:Gem::Requirement
79
92
  requirements:
80
93
  - - "~>"
81
94
  - !ruby/object:Gem::Version
82
- version: '11.1'
95
+ version: '13'
83
96
  - !ruby/object:Gem::Dependency
84
97
  name: yard
85
98
  requirement: !ruby/object:Gem::Requirement
86
99
  requirements:
87
100
  - - "~>"
88
101
  - !ruby/object:Gem::Version
89
- version: '0.9'
102
+ version: '0'
90
103
  type: :development
91
104
  prerelease: false
92
105
  version_requirements: !ruby/object:Gem::Requirement
93
106
  requirements:
94
107
  - - "~>"
95
108
  - !ruby/object:Gem::Version
96
- version: '0.9'
109
+ version: '0'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: rspec-benchmark
99
112
  requirement: !ruby/object:Gem::Requirement
100
113
  requirements:
101
114
  - - "~>"
102
115
  - !ruby/object:Gem::Version
103
- version: '0.6'
116
+ version: '0'
104
117
  type: :development
105
118
  prerelease: false
106
119
  version_requirements: !ruby/object:Gem::Requirement
107
120
  requirements:
108
121
  - - "~>"
109
122
  - !ruby/object:Gem::Version
110
- version: '0.6'
123
+ version: '0'
111
124
  description: A collection of Stern-Brocot based models and methods
112
125
  email: jose@halesgarcia.com
113
126
  executables: []
@@ -123,7 +136,6 @@ licenses:
123
136
  - MIT
124
137
  metadata:
125
138
  source_code_uri: https://github.com/jolohaga/fraction-tree
126
- post_install_message:
127
139
  rdoc_options: []
128
140
  require_paths:
129
141
  - lib
@@ -138,8 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
150
  - !ruby/object:Gem::Version
139
151
  version: '3.1'
140
152
  requirements: []
141
- rubygems_version: 3.5.23
142
- signing_key:
153
+ rubygems_version: 4.0.4
143
154
  specification_version: 4
144
155
  summary: Fraction tree
145
156
  test_files: []