disjoint_interval_tree 0.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 +7 -0
- data/CITATION.cff +67 -0
- data/README.md +340 -0
- data/Rakefile +232 -0
- data/disjoint_interval_tree.gemspec +42 -0
- data/ext/disjoint_interval_tree/dit.c +850 -0
- data/ext/disjoint_interval_tree/dit.h +244 -0
- data/ext/disjoint_interval_tree/dit_ruby.c +648 -0
- data/ext/disjoint_interval_tree/extconf.rb +17 -0
- data/lib/disjoint_interval_tree/version.rb +5 -0
- data/lib/disjoint_interval_tree.rb +52 -0
- data/test/c/Makefile +58 -0
- data/test/c/test_dit.c +1072 -0
- data/test/test_disjoint_interval_tree.rb +649 -0
- metadata +65 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'lib/disjoint_interval_tree/version'
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = 'disjoint_interval_tree'
|
|
7
|
+
spec.version = DisjointIntervalTree::VERSION
|
|
8
|
+
spec.authors = ['Romain PEREIRA']
|
|
9
|
+
spec.email = ['romain.pereira@inria.fr', 'rpereira@anl.gov']
|
|
10
|
+
|
|
11
|
+
spec.summary = 'Disjoint interval tree, in C, with Ruby bindings'
|
|
12
|
+
spec.description = <<~DESC
|
|
13
|
+
A set of pairwise disjoint half-open intervals [a..b[, backed by an
|
|
14
|
+
augmented AVL tree written in C. Insertion, point lookup, intersection
|
|
15
|
+
queries and range removal are all logarithmic. Each node caches the hull of
|
|
16
|
+
the subtree it roots, so intersection queries prune whole subtrees in O(1).
|
|
17
|
+
DESC
|
|
18
|
+
|
|
19
|
+
spec.homepage = 'https://github.com/anlsys/ruby-disjoint-interval-tree'
|
|
20
|
+
spec.license = 'CECILL-C'
|
|
21
|
+
spec.required_ruby_version = '>= 2.7.0'
|
|
22
|
+
|
|
23
|
+
spec.files = Dir[
|
|
24
|
+
'lib/**/*.rb',
|
|
25
|
+
'ext/**/*.{c,h,rb}',
|
|
26
|
+
'test/**/*.{c,rb}',
|
|
27
|
+
'test/c/Makefile',
|
|
28
|
+
'CITATION.cff',
|
|
29
|
+
'README.md',
|
|
30
|
+
'Rakefile',
|
|
31
|
+
'disjoint_interval_tree.gemspec'
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
spec.require_paths = ['lib']
|
|
35
|
+
spec.extensions = ['ext/disjoint_interval_tree/extconf.rb']
|
|
36
|
+
|
|
37
|
+
spec.metadata = {
|
|
38
|
+
'source_code_uri' => spec.homepage,
|
|
39
|
+
'bug_tracker_uri' => "#{spec.homepage}/issues",
|
|
40
|
+
'rubygems_mfa_required' => 'true'
|
|
41
|
+
}
|
|
42
|
+
end
|