pairing_heap 3.1.0 → 3.1.1

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: 0ab471c325e03585ad3544c864f4ea058e5a05cd2d196c6e77015c13780f74c1
4
- data.tar.gz: e27b561d32e04e3e22360bbcca57eaeacedf960a49d331ae437d13ab8cbcf2f8
3
+ metadata.gz: f95d383584e208d1239f310d3e3bab5c727b4d721405b6b2b34eeb2a684b7ef0
4
+ data.tar.gz: 3d1faf97fae0312ffcd3491bd70cddc1acc40a280c2d7af446742094456007bb
5
5
  SHA512:
6
- metadata.gz: d90c55d1640a827df56dc753dc03e9c524f0f68da44071c75bef3f6065dfcddcd5fc4275d22061e7fbf468c2ebc9fc932b35eca7d0f40a7810a0e96778ca5238
7
- data.tar.gz: 750813b4cd86ccafb76499a65b145620c78539a4cd4f0cb73b4a8217e2112b049ce87bc8a1ce4a7e83cd94a092e9ccd9bcba108bbb4f0f6a9f1f972bd3bd75de
6
+ metadata.gz: 2ad6b8a6410b9bebcf0b1b10fa29fe79ef8799faff50e043c600faa47fe965efcb949cdd725ce0b612fe7f8f1b8432c1c3e04604c3424c3084ef4396e670eb1e
7
+ data.tar.gz: 935a061846b27ed77f2af4f92f59b1080fddf83fe8949732ea23ca26e33e5d185cae232f9765edb5b7f850ac9970304a6872d504703342bc5b7601eb17c477e2
@@ -7,11 +7,10 @@ jobs:
7
7
  fail-fast: false
8
8
  matrix:
9
9
  os: [ubuntu-latest, macos-latest]
10
- # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
11
- ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', head, jruby, jruby-head, truffleruby, truffleruby-head]
10
+ ruby: ['3.2', '3.3', '3.4', '3.5', '4.0', jruby, truffleruby]
12
11
  runs-on: ${{ matrix.os }}
13
12
  steps:
14
- - uses: actions/checkout@v3
13
+ - uses: actions/checkout@v4
15
14
  - name: Set up ruby
16
15
  uses: ruby/setup-ruby@v1
17
16
  with:
data/Gemfile.lock CHANGED
@@ -1,82 +1,113 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pairing_heap (3.1.0)
4
+ pairing_heap (3.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- ast (2.4.2)
10
- base64 (0.1.1)
11
- docile (1.4.0)
12
- json (2.6.3)
13
- json (2.6.3-java)
14
- language_server-protocol (3.17.0.3)
9
+ ast (2.4.3)
10
+ docile (1.4.1)
11
+ drb (2.2.3)
12
+ json (2.18.0)
13
+ json (2.18.0-java)
14
+ language_server-protocol (3.17.0.5)
15
15
  lint_roller (1.1.0)
16
- minitest (5.21.2)
17
- parallel (1.23.0)
18
- parser (3.2.2.3)
16
+ minitest (6.0.6)
17
+ drb (~> 2.0)
18
+ prism (~> 1.5)
19
+ parallel (1.27.0)
20
+ parser (3.3.10.0)
19
21
  ast (~> 2.4.1)
20
22
  racc
21
- racc (1.7.1)
22
- racc (1.7.1-java)
23
+ prism (1.7.0)
24
+ racc (1.8.1)
25
+ racc (1.8.1-java)
23
26
  rainbow (3.1.1)
24
- rake (13.0.6)
25
- regexp_parser (2.8.1)
26
- rexml (3.2.6)
27
- rubocop (1.56.3)
28
- base64 (~> 0.1.1)
27
+ rake (13.3.1)
28
+ regexp_parser (2.11.3)
29
+ rubocop (1.87.0)
29
30
  json (~> 2.3)
30
- language_server-protocol (>= 3.17.0)
31
- parallel (~> 1.10)
32
- parser (>= 3.2.2.3)
31
+ language_server-protocol (~> 3.17.0.2)
32
+ lint_roller (~> 1.1.0)
33
+ parallel (>= 1.10)
34
+ parser (>= 3.3.0.2)
33
35
  rainbow (>= 2.2.2, < 4.0)
34
- regexp_parser (>= 1.8, < 3.0)
35
- rexml (>= 3.2.5, < 4.0)
36
- rubocop-ast (>= 1.28.1, < 2.0)
36
+ regexp_parser (>= 2.9.3, < 3.0)
37
+ rubocop-ast (>= 1.49.0, < 2.0)
37
38
  ruby-progressbar (~> 1.7)
38
- unicode-display_width (>= 2.4.0, < 3.0)
39
- rubocop-ast (1.29.0)
40
- parser (>= 3.2.1.0)
41
- rubocop-performance (1.19.0)
42
- rubocop (>= 1.7.0, < 2.0)
43
- rubocop-ast (>= 0.4.0)
39
+ unicode-display_width (>= 2.4.0, < 4.0)
40
+ rubocop-ast (1.49.0)
41
+ parser (>= 3.3.7.2)
42
+ prism (~> 1.7)
43
+ rubocop-performance (1.26.1)
44
+ lint_roller (~> 1.1)
45
+ rubocop (>= 1.75.0, < 2.0)
46
+ rubocop-ast (>= 1.47.1, < 2.0)
44
47
  ruby-progressbar (1.13.0)
45
48
  simplecov (0.22.0)
46
49
  docile (~> 1.1)
47
50
  simplecov-html (~> 0.11)
48
51
  simplecov_json_formatter (~> 0.1)
49
- simplecov-html (0.12.3)
52
+ simplecov-html (0.13.2)
50
53
  simplecov_json_formatter (0.1.4)
51
- standard (1.31.1)
54
+ standard (1.55.0)
52
55
  language_server-protocol (~> 3.17.0.2)
53
56
  lint_roller (~> 1.0)
54
- rubocop (~> 1.56.2)
57
+ rubocop (~> 1.87.0)
55
58
  standard-custom (~> 1.0.0)
56
- standard-performance (~> 1.2)
59
+ standard-performance (~> 1.8)
57
60
  standard-custom (1.0.2)
58
61
  lint_roller (~> 1.0)
59
62
  rubocop (~> 1.50)
60
- standard-performance (1.2.0)
63
+ standard-performance (1.9.0)
61
64
  lint_roller (~> 1.1)
62
- rubocop-performance (~> 1.19.0)
63
- unicode-display_width (2.4.2)
65
+ rubocop-performance (~> 1.26.0)
66
+ unicode-display_width (3.2.0)
67
+ unicode-emoji (~> 4.1)
68
+ unicode-emoji (4.2.0)
64
69
 
65
70
  PLATFORMS
66
- universal-java-17
67
- x86_64-darwin-19
68
- x86_64-darwin-20
69
- x86_64-darwin-21
70
- x86_64-darwin-22
71
- x86_64-darwin-23
72
- x86_64-linux
71
+ java
72
+ ruby
73
73
 
74
74
  DEPENDENCIES
75
- minitest (~> 5.21)
75
+ minitest (~> 6.0)
76
76
  pairing_heap!
77
- rake (~> 13.0)
77
+ rake (~> 13.3)
78
78
  simplecov (~> 0.22.0)
79
- standard (~> 1.31)
79
+ standard (~> 1.55)
80
+
81
+ CHECKSUMS
82
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
83
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
84
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
85
+ json (2.18.0) sha256=b10506aee4183f5cf49e0efc48073d7b75843ce3782c68dbeb763351c08fd505
86
+ json (2.18.0-java) sha256=74706f684baeb1a40351ed26fc8fe6e958afa861320d1c28ff4eb7073b29c7aa
87
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
88
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
89
+ minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
90
+ pairing_heap (3.1.1)
91
+ parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
92
+ parser (3.3.10.0) sha256=ce3587fa5cc55a88c4ba5b2b37621b3329aadf5728f9eafa36bbd121462aabd6
93
+ prism (1.7.0) sha256=10062f734bf7985c8424c44fac382ac04a58124ea3d220ec3ba9fe4f2da65103
94
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
95
+ racc (1.8.1-java) sha256=54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98
96
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
97
+ rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
98
+ regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
99
+ rubocop (1.87.0) sha256=b9d9ddf55116a513f8ef2c7ae660662d8b49301f118d3f0df61865b33a5c188d
100
+ rubocop-ast (1.49.0) sha256=49c3676d3123a0923d333e20c6c2dbaaae2d2287b475273fddee0c61da9f71fd
101
+ rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
102
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
103
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
104
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
105
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
106
+ standard (1.55.0) sha256=8a8f2c3e681a4db3aafde1b301561b0f3d7c5f06c160167cb744a4d7baf0426e
107
+ standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
108
+ standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
109
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
110
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
80
111
 
81
112
  BUNDLED WITH
82
- 2.3.6
113
+ 4.0.3
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PairingHeap
4
- VERSION = "3.1.0"
4
+ VERSION = "3.1.1"
5
5
  end
data/lib/pairing_heap.rb CHANGED
@@ -508,7 +508,7 @@ module PairingHeap
508
508
  delete(elem)
509
509
  push(elem, priority)
510
510
  else
511
- super(elem, priority)
511
+ super
512
512
  end
513
513
  end
514
514
  end
@@ -518,14 +518,20 @@ module PairingHeap
518
518
 
519
519
  def visit_node(node, &block)
520
520
  return unless node
521
+ stack = [node]
521
522
 
522
- block.call(node)
523
+ until stack.empty?
524
+ node = stack.pop
523
525
 
524
- if node.subheaps
525
- visit_node(node.subheaps, &block)
526
- end
527
- if node.next_sibling
528
- visit_node(node.next_sibling, &block)
526
+ block.call(node)
527
+
528
+ if node.subheaps
529
+ stack << node.subheaps
530
+ end
531
+
532
+ if node.next_sibling
533
+ stack << node.next_sibling
534
+ end
529
535
  end
530
536
  end
531
537
  end
data/pairing_heap.gemspec CHANGED
@@ -26,8 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ["lib"]
28
28
 
29
- spec.add_development_dependency "minitest", "~> 5.21"
30
- spec.add_development_dependency "rake", "~> 13.0"
29
+ spec.add_development_dependency "minitest", "~> 6.0"
30
+ spec.add_development_dependency "rake", "~> 13.3"
31
31
  spec.add_development_dependency "simplecov", "~> 0.22.0"
32
- spec.add_development_dependency "standard", "~> 1.31"
32
+ spec.add_development_dependency "standard", "~> 1.55"
33
33
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pairing_heap
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcin Henryk Bartkowiak
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-02-11 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: minitest
@@ -16,28 +15,28 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '5.21'
18
+ version: '6.0'
20
19
  type: :development
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: '5.21'
25
+ version: '6.0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: rake
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '13.0'
32
+ version: '13.3'
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: '13.0'
39
+ version: '13.3'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: simplecov
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +57,14 @@ dependencies:
58
57
  requirements:
59
58
  - - "~>"
60
59
  - !ruby/object:Gem::Version
61
- version: '1.31'
60
+ version: '1.55'
62
61
  type: :development
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - "~>"
67
66
  - !ruby/object:Gem::Version
68
- version: '1.31'
67
+ version: '1.55'
69
68
  description: Performant priority queue in pure ruby with support for changing priority
70
69
  using pairing heap data structure
71
70
  email:
@@ -95,7 +94,6 @@ metadata:
95
94
  source_code_uri: https://github.com/mhib/pairing_heap
96
95
  documentation_uri: https://rubydoc.info/gems/pairing_heap
97
96
  rubygems_mfa_required: 'true'
98
- post_install_message:
99
97
  rdoc_options: []
100
98
  require_paths:
101
99
  - lib
@@ -110,8 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
108
  - !ruby/object:Gem::Version
111
109
  version: '0'
112
110
  requirements: []
113
- rubygems_version: 3.5.3
114
- signing_key:
111
+ rubygems_version: 4.0.10
115
112
  specification_version: 4
116
113
  summary: Performant priority queue in pure ruby with support for changing priority
117
114
  test_files: []