fraction-tree 2.1.2 → 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: 3c67f8bc638dc8160f1e781f25740118d9814c6e173a06813a60fe28a65b18a7
4
- data.tar.gz: da94baa8453a8e0ed7fb5ecfabc09c63548ec3bd110267d04afdf359ae75257c
3
+ metadata.gz: c93c771b15dc11f618cc27bff33524f7feb80bdf1310c811f53db3de5898c015
4
+ data.tar.gz: c40130bcc10af5a231b559d70911f728b41ee755b02e7b740fbd33fc1bb0323f
5
5
  SHA512:
6
- metadata.gz: 14465ec9dad2123bd396cf21baf433d88e13d27eb8a16abf7e51f1cccca6df014b29c951a9efd31b2476eb541b32178ef0bbbe28d2ffde2756871bee638b578f
7
- data.tar.gz: 7a6928f022046997ee59a9ec746e21d5d6c1734d6d094393425315f0953447497fcf09463114e5ab7dbb95cd260ce793323b7a71b34bb3e220d38b559bedfd95
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,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fraction-tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jose Hales-Garcia
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-08-10 00:00:00.000000000 Z
10
+ date: 2026-01-27 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: matrix
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '0.4'
18
+ version: '0'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '0.4'
25
+ version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bigdecimal
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -43,28 +43,28 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.3'
46
+ version: '1'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.3'
53
+ version: '1'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: continued_fractions
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '2.1'
60
+ version: '2'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '2.1'
67
+ version: '2'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: rspec
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -85,42 +85,42 @@ dependencies:
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '11.1'
88
+ version: '13'
89
89
  type: :development
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '11.1'
95
+ version: '13'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: yard
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '0.9'
102
+ version: '0'
103
103
  type: :development
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '0.9'
109
+ version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: rspec-benchmark
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '0.6'
116
+ version: '0'
117
117
  type: :development
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '0.6'
123
+ version: '0'
124
124
  description: A collection of Stern-Brocot based models and methods
125
125
  email: jose@halesgarcia.com
126
126
  executables: []
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  - !ruby/object:Gem::Version
151
151
  version: '3.1'
152
152
  requirements: []
153
- rubygems_version: 3.6.9
153
+ rubygems_version: 4.0.4
154
154
  specification_version: 4
155
155
  summary: Fraction tree
156
156
  test_files: []