tonal-tools 7.1.1 → 7.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a1c272ba8cf6b1c88fc405cfcc744a113b6069b8ef245bb61fefbd75fe5df56
4
- data.tar.gz: 17acd0378d96990ef05f04c640d0f3eda0372745e072a8fc64b0369d5e67265b
3
+ metadata.gz: 21362801eb7f0b63d3c05d4f694a4288bf3b2c0adf5cc3548953f25971a441d7
4
+ data.tar.gz: 6279ffac59c2af3bedcf794e945fbb4654599b87620df95badaa3431ee995f0a
5
5
  SHA512:
6
- metadata.gz: bda116a124e2c3951e71fa4480a0291eabf06b7a5a8a9543bc267d5caf76138601cd03fdfd46209a438398504545065fbe601784f22822ffb009a4af784e03ea
7
- data.tar.gz: af9ad55ededb100c11f9e3c1f0abece07c7448b0de29ee35900dd726fb32a586655ec65cd8197fef3592237333ee826edea904e528d62c3e9e53d6e1e24f5a83
6
+ metadata.gz: b502514508150824355941fad9c009aef56f7edc8e4246963e151389ca60b3acaf56c90434b7a52a27af8633668b00c581ea335078f5356c2c3d319d5fd60470
7
+ data.tar.gz: f5e9614f05e070fe8642fdd7df7caacfde96b52f6963bc3c8a69c8821cc8b7bc61f84da613f877ddb3699acb5df6ac5b086d12eb6fe2ebf5a018df54f603179f
@@ -1,4 +1,4 @@
1
1
  module Tonal
2
2
  TOOLS_PRODUCER = "mTonal"
3
- TOOLS_VERSION = "7.1.1"
3
+ TOOLS_VERSION = "7.3.0"
4
4
  end
@@ -154,6 +154,12 @@ class Numeric
154
154
  #
155
155
  def interval_with(other_ratio) = Tonal::Interval.new(ratio, other_ratio)
156
156
 
157
+ # @return [Tonal::Interval] between 1/1 (lower) and self (upper)
158
+ # @example
159
+ # (3/2r).to_interval => 3/2 (3/2 / 1/1)
160
+ #
161
+ def to_interval = Tonal::Interval.new(1/1r, self)
162
+
157
163
  # @return [Tonal::Cents] difference between ratio (upper) and self (lower)
158
164
  # @example
159
165
  # (133).cents_difference_with(3/2r)
@@ -258,6 +264,14 @@ class Integer
258
264
  end
259
265
  end
260
266
 
267
+ # @return [Rational] the superparticular ratio based on the given integer as the numerator
268
+ # @example
269
+ # 4.superparticular => 4/3
270
+ def superparticular
271
+ return nil if self < 2
272
+ Rational(self, self-1)
273
+ end
274
+
261
275
  # @return [Integer] the count of coprimes less than self
262
276
  # @example
263
277
  # 10.phi => 4
@@ -483,4 +497,3 @@ module Math
483
497
 
484
498
  PHI = (1 + 5**(1.0/2))/2
485
499
  end
486
-
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tonal-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.1
4
+ version: 7.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jose Hales-Garcia
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-09-28 00:00:00.000000000 Z
10
+ date: 2025-12-04 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: yaml
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  - !ruby/object:Gem::Version
192
192
  version: '3.1'
193
193
  requirements: []
194
- rubygems_version: 3.6.9
194
+ rubygems_version: 3.7.2
195
195
  specification_version: 4
196
196
  summary: Tonal tools
197
197
  test_files: []