more_math 1.0.1 → 1.1.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: 1ba84f4d700f11ea528792c07fc7a1b44e055039336ffb9a9081f777637b7609
4
- data.tar.gz: 1a783a0247589249a75b9a9475f2d6ebecf21e032c809841f066612191916809
3
+ metadata.gz: 0dea8884eed0b41c32c4d614efe6df1fc4144f688dd239a0b472175de3ee02e7
4
+ data.tar.gz: aa8251a1e275bce04d1ab85df84fd13b0ed726efd29818181493d8f27df71bf1
5
5
  SHA512:
6
- metadata.gz: 01cc841c484126edc0a5c407a20c9649b07cf3d2700115c0b8cc7829a26fc88b10663b68f4f8e05b35721a87ee9f77af296a0a7fb8e859700a543b2b191b4117
7
- data.tar.gz: f5ab98072be38fab9f327eed3d7ed88b736c58bff92fb71957a779beba46d90ec36dba863fb68c4c9b351082d93b591af341bc77bbef9bda05627778a9e89407
6
+ metadata.gz: 1ba55a79ef2c6da6fc6019aa0431dd26592cae8c3792817f9de17a519395ba15ed897578a087a631effb52ce31355e94ff522157a93f254c963a49172438c54a
7
+ data.tar.gz: 37ebdb02b57fd9905cfd67d9e3713e970af944c5d3c35d345fd0b73d6229457fd2389a45bcc5cb4abf87bb5eda109b4d417ca6e3a11f45bf09c42252f59c79a4
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ GemHadar do
6
6
  name 'more_math'
7
7
  author 'Florian Frank'
8
8
  email 'flori@ping.de'
9
- homepage "http://flori.github.com/#{name}"
9
+ homepage "https://github.com/flori/#{name}"
10
10
  summary 'Library that provides more mathematics.'
11
11
  description 'Library that provides more mathematical functions/algorithms than standard Ruby.'
12
12
  test_dir 'tests'
@@ -333,6 +333,13 @@ module MoreMath
333
333
  end
334
334
  end
335
335
 
336
+ # Returns the interquartile range for this sequence.
337
+ def interquartile_range
338
+ quartile1 = percentile(25)
339
+ quartile3 = percentile(75)
340
+ quartile3 - quartile1
341
+ end
342
+
336
343
  # Return a result hash with the number of :very_low, :low, :high, and
337
344
  # :very_high outliers, determined by the box plotting algorithm run with
338
345
  # :median and :iqr parameters. If no outliers were found or the iqr is
@@ -1,6 +1,6 @@
1
1
  module MoreMath
2
2
  # MoreMath version
3
- VERSION = '1.0.1'
3
+ VERSION = '1.1.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/more_math.gemspec CHANGED
@@ -1,47 +1,34 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: more_math 1.0.1 ruby lib
2
+ # stub: more_math 1.1.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "more_math".freeze
6
- s.version = "1.0.1"
6
+ s.version = "1.1.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2023-05-29"
11
+ s.date = "2024-08-27"
12
12
  s.description = "Library that provides more mathematical functions/algorithms than standard Ruby.".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.extra_rdoc_files = ["README.md".freeze, "lib/more_math.rb".freeze, "lib/more_math/cantor_pairing_function.rb".freeze, "lib/more_math/constants/functions_constants.rb".freeze, "lib/more_math/continued_fraction.rb".freeze, "lib/more_math/distributions.rb".freeze, "lib/more_math/entropy.rb".freeze, "lib/more_math/exceptions.rb".freeze, "lib/more_math/functions.rb".freeze, "lib/more_math/histogram.rb".freeze, "lib/more_math/linear_regression.rb".freeze, "lib/more_math/newton_bisection.rb".freeze, "lib/more_math/numberify_string_function.rb".freeze, "lib/more_math/permutation.rb".freeze, "lib/more_math/ranking_common.rb".freeze, "lib/more_math/sequence.rb".freeze, "lib/more_math/sequence/moving_average.rb".freeze, "lib/more_math/sequence/refinement.rb".freeze, "lib/more_math/string_numeral.rb".freeze, "lib/more_math/subset.rb".freeze, "lib/more_math/version.rb".freeze]
15
15
  s.files = ["CHANGES".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "lib/more_math.rb".freeze, "lib/more_math/cantor_pairing_function.rb".freeze, "lib/more_math/constants/functions_constants.rb".freeze, "lib/more_math/continued_fraction.rb".freeze, "lib/more_math/distributions.rb".freeze, "lib/more_math/entropy.rb".freeze, "lib/more_math/exceptions.rb".freeze, "lib/more_math/functions.rb".freeze, "lib/more_math/histogram.rb".freeze, "lib/more_math/linear_regression.rb".freeze, "lib/more_math/newton_bisection.rb".freeze, "lib/more_math/numberify_string_function.rb".freeze, "lib/more_math/permutation.rb".freeze, "lib/more_math/ranking_common.rb".freeze, "lib/more_math/sequence.rb".freeze, "lib/more_math/sequence/moving_average.rb".freeze, "lib/more_math/sequence/refinement.rb".freeze, "lib/more_math/string_numeral.rb".freeze, "lib/more_math/subset.rb".freeze, "lib/more_math/version.rb".freeze, "more_math.gemspec".freeze, "tests/cantor_pairing_function_test.rb".freeze, "tests/continued_fraction_test.rb".freeze, "tests/distribution_test.rb".freeze, "tests/entropy_test.rb".freeze, "tests/functions_test.rb".freeze, "tests/histogram_test.rb".freeze, "tests/newton_bisection_test.rb".freeze, "tests/numberify_string_function_test.rb".freeze, "tests/permutation_test.rb".freeze, "tests/sequence/refinement_test.rb".freeze, "tests/sequence_moving_average_test.rb".freeze, "tests/sequence_test.rb".freeze, "tests/string_numeral_test.rb".freeze, "tests/subset_test.rb".freeze, "tests/test_helper.rb".freeze]
16
- s.homepage = "http://flori.github.com/more_math".freeze
16
+ s.homepage = "https://github.com/flori/more_math".freeze
17
17
  s.licenses = ["MIT".freeze]
18
18
  s.rdoc_options = ["--title".freeze, "MoreMath -- More Math in Ruby".freeze, "--main".freeze, "README.md".freeze]
19
19
  s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
20
- s.rubygems_version = "3.3.26".freeze
20
+ s.rubygems_version = "3.5.16".freeze
21
21
  s.summary = "Library that provides more mathematics.".freeze
22
22
  s.test_files = ["tests/cantor_pairing_function_test.rb".freeze, "tests/continued_fraction_test.rb".freeze, "tests/distribution_test.rb".freeze, "tests/entropy_test.rb".freeze, "tests/functions_test.rb".freeze, "tests/histogram_test.rb".freeze, "tests/newton_bisection_test.rb".freeze, "tests/numberify_string_function_test.rb".freeze, "tests/permutation_test.rb".freeze, "tests/sequence/refinement_test.rb".freeze, "tests/sequence_moving_average_test.rb".freeze, "tests/sequence_test.rb".freeze, "tests/string_numeral_test.rb".freeze, "tests/subset_test.rb".freeze, "tests/test_helper.rb".freeze]
23
23
 
24
- if s.respond_to? :specification_version then
25
- s.specification_version = 4
26
- end
24
+ s.specification_version = 4
27
25
 
28
- if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
30
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
31
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
32
- s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
33
- s.add_development_dependency(%q<debug>.freeze, [">= 0"])
34
- s.add_development_dependency(%q<all_images>.freeze, [">= 0"])
35
- s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.0"])
36
- s.add_runtime_dependency(%q<mize>.freeze, [">= 0"])
37
- else
38
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
39
- s.add_dependency(%q<rake>.freeze, [">= 0"])
40
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
41
- s.add_dependency(%q<test-unit>.freeze, [">= 0"])
42
- s.add_dependency(%q<debug>.freeze, [">= 0"])
43
- s.add_dependency(%q<all_images>.freeze, [">= 0"])
44
- s.add_dependency(%q<tins>.freeze, ["~> 1.0"])
45
- s.add_dependency(%q<mize>.freeze, [">= 0"])
46
- end
26
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.17.0".freeze])
27
+ s.add_development_dependency(%q<rake>.freeze, [">= 0".freeze])
28
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
29
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0".freeze])
30
+ s.add_development_dependency(%q<debug>.freeze, [">= 0".freeze])
31
+ s.add_development_dependency(%q<all_images>.freeze, [">= 0".freeze])
32
+ s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.0".freeze])
33
+ s.add_runtime_dependency(%q<mize>.freeze, [">= 0".freeze])
47
34
  end
@@ -239,6 +239,7 @@ class SequenceTest < Test::Unit::TestCase
239
239
  assert_in_delta 48.0378, @rand_up.linear_regression.b, 1E-4
240
240
  assert_in_delta 0.98857, @rand_up.linear_regression.r2, 1E-4
241
241
  assert !@rand_up.linear_regression.slope_zero?
242
+ assert_in_delta 60.75, @rand.interquartile_range, 1E-4
242
243
  assert_nil @rand.detect_outliers
243
244
  assert !@rand.detect_autocorrelation[:detected]
244
245
  assert_equal [11, 14, 7, 9, 8, 7, 5, 11, 13, 15],
@@ -265,6 +266,7 @@ class SequenceTest < Test::Unit::TestCase
265
266
  assert_in_delta(23.94, @rasi.linear_regression.b, 1E-2)
266
267
  assert_in_delta 0.0887, @rasi.linear_regression.r2, 1E-4
267
268
  assert !@rasi.linear_regression.slope_zero?
269
+ assert_in_delta 51.3401, @rasi.interquartile_range, 1E-4
268
270
  assert_equal 13, @rasi.detect_outliers[:high]
269
271
  assert @rasi.detect_autocorrelation[:detected]
270
272
  assert_equal [4, 6, 11, 13, 22, 15, 12, 4, 7, 6],
@@ -292,6 +294,7 @@ class SequenceTest < Test::Unit::TestCase
292
294
  assert_in_delta(54.5420, @book.linear_regression.b, 1E-4)
293
295
  assert @book.linear_regression.slope_zero?
294
296
  assert_in_delta 0.0249, @book.linear_regression.r2, 1E-4
297
+ assert_in_delta 14.5, @book.interquartile_range, 1E-4
295
298
  assert_equal 7, @book.detect_outliers[:high]
296
299
  ought = [1.0, -0.39, 0.3, -0.17, 0.07, -0.10, 0.05, 0.04, -0.04, -0.01,
297
300
  0.01, 0.11, -0.07, 0.15, 0.04, -0.01
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: more_math
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-29 00:00:00.000000000 Z
11
+ date: 2024-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.12.0
19
+ version: 1.17.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.12.0
26
+ version: 1.17.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -191,7 +191,7 @@ files:
191
191
  - tests/string_numeral_test.rb
192
192
  - tests/subset_test.rb
193
193
  - tests/test_helper.rb
194
- homepage: http://flori.github.com/more_math
194
+ homepage: https://github.com/flori/more_math
195
195
  licenses:
196
196
  - MIT
197
197
  metadata: {}
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  requirements: []
217
- rubygems_version: 3.3.26
217
+ rubygems_version: 3.5.16
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: Library that provides more mathematics.