librtree 1.0.2 → 1.0.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 +4 -4
- data/CHANGELOG.md +7 -2
- data/README.md +4 -4
- data/ext/rtree/lib/branch.c +2 -1
- data/ext/rtree/lib/branch.h +97 -0
- data/ext/rtree/lib/branches.c +1 -1
- data/ext/rtree/lib/{rtree/branches.h → branches.h} +6 -6
- data/ext/rtree/lib/bsrt.c +6 -15
- data/ext/rtree/lib/bsrt.h +1 -1
- data/ext/rtree/lib/csv.c +1 -0
- data/ext/rtree/lib/csv.h +2 -2
- data/ext/rtree/lib/json.c +3 -1
- data/ext/rtree/lib/json.h +1 -1
- data/ext/rtree/lib/node.c +33 -32
- data/ext/rtree/lib/node.h +84 -0
- data/ext/rtree/lib/package.c +1 -1
- data/ext/rtree/lib/postscript.c +19 -14
- data/ext/rtree/lib/rect.c +3 -1
- data/ext/rtree/lib/{rtree/rect.h → rect.h} +5 -13
- data/ext/rtree/lib/rtree/branch.h +0 -86
- data/ext/rtree/lib/rtree/node.h +1 -75
- data/ext/rtree/lib/rtree/postscript.h +12 -11
- data/ext/rtree/lib/rtree/search.h +0 -6
- data/ext/rtree/lib/rtree/state.h +1 -79
- data/ext/rtree/lib/rtree-base.c +61 -1
- data/ext/rtree/lib/rtree.h +7 -5
- data/ext/rtree/lib/search.c +5 -3
- data/ext/rtree/lib/search.h +21 -0
- data/ext/rtree/lib/split.c +3 -1
- data/ext/rtree/lib/split.h +3 -3
- data/ext/rtree/lib/state.c +3 -3
- data/ext/rtree/lib/state.h +90 -0
- data/ext/rtree/rtree.c +18 -18
- data/lib/rtree.rb +2 -8
- metadata +25 -7
data/ext/rtree/rtree.c
CHANGED
@@ -84,7 +84,7 @@ static VALUE rt_add_rect(VALUE self, VALUE id_obj, VALUE coord_obj)
|
|
84
84
|
id = FIX2ULONG(id_obj);
|
85
85
|
size_t
|
86
86
|
len = RARRAY_LEN(coord_obj),
|
87
|
-
dim =
|
87
|
+
dim = rtree_dims(rtree);
|
88
88
|
|
89
89
|
if (len != 2 * dim)
|
90
90
|
rb_raise(rb_eArgError, "expected array length %zi, got %zi", 2 * dim, len);
|
@@ -138,7 +138,7 @@ static VALUE rt_update(VALUE self)
|
|
138
138
|
rtree_t *rtree;
|
139
139
|
TypedData_Get_Struct(self, rtree_t, &rtree_type, rtree);
|
140
140
|
|
141
|
-
size_t len = 2 *
|
141
|
+
size_t len = 2 * rtree_dims(rtree);
|
142
142
|
int err = rtree_update(rtree, update_cb, &len);
|
143
143
|
|
144
144
|
if (err != 0)
|
@@ -176,7 +176,7 @@ static VALUE rt_search(VALUE self, VALUE coord_obj)
|
|
176
176
|
|
177
177
|
size_t
|
178
178
|
len = RARRAY_LEN(coord_obj),
|
179
|
-
dim =
|
179
|
+
dim = rtree_dims(rtree);
|
180
180
|
|
181
181
|
if (len != 2 * dim)
|
182
182
|
rb_raise(rb_eArgError, "expected array length %zi, got %zi", 2 * dim, len);
|
@@ -322,48 +322,48 @@ static VALUE rt_clone(VALUE self)
|
|
322
322
|
return TypedData_Wrap_Struct(CLASS_OF(self), &rtree_type, clone);
|
323
323
|
}
|
324
324
|
|
325
|
-
static VALUE state_size_access(VALUE self, size_t (*f)(const
|
325
|
+
static VALUE state_size_access(VALUE self, size_t (*f)(const rtree_t*))
|
326
326
|
{
|
327
327
|
rtree_t *rtree;
|
328
328
|
TypedData_Get_Struct(self, rtree_t, &rtree_type, rtree);
|
329
|
-
return INT2NUM(f(rtree
|
329
|
+
return INT2NUM(f(rtree));
|
330
330
|
}
|
331
331
|
|
332
332
|
static VALUE rt_dim(VALUE self)
|
333
333
|
{
|
334
|
-
return state_size_access(self,
|
334
|
+
return state_size_access(self, rtree_dims);
|
335
335
|
}
|
336
336
|
|
337
337
|
static VALUE rt_page_size(VALUE self)
|
338
338
|
{
|
339
|
-
return state_size_access(self,
|
339
|
+
return state_size_access(self, rtree_page_size);
|
340
340
|
}
|
341
341
|
|
342
342
|
static VALUE rt_node_size(VALUE self)
|
343
343
|
{
|
344
|
-
return state_size_access(self,
|
344
|
+
return state_size_access(self, rtree_node_size);
|
345
345
|
}
|
346
346
|
|
347
347
|
static VALUE rt_rect_size(VALUE self)
|
348
348
|
{
|
349
|
-
return state_size_access(self,
|
349
|
+
return state_size_access(self, rtree_rect_size);
|
350
350
|
}
|
351
351
|
|
352
352
|
static VALUE rt_branch_size(VALUE self)
|
353
353
|
{
|
354
|
-
return state_size_access(self,
|
354
|
+
return state_size_access(self, rtree_branch_size);
|
355
355
|
}
|
356
356
|
|
357
357
|
static VALUE rt_branching_factor(VALUE self)
|
358
358
|
{
|
359
|
-
return state_size_access(self,
|
359
|
+
return state_size_access(self, rtree_branching_factor);
|
360
360
|
}
|
361
361
|
|
362
362
|
static VALUE rt_unit_sphere_volume(VALUE self)
|
363
363
|
{
|
364
364
|
rtree_t *rtree;
|
365
365
|
TypedData_Get_Struct(self, rtree_t, &rtree_type, rtree);
|
366
|
-
return DBL2NUM(
|
366
|
+
return DBL2NUM(rtree_unit_sphere_volume(rtree));
|
367
367
|
}
|
368
368
|
|
369
369
|
static VALUE rt_size(VALUE self)
|
@@ -398,8 +398,8 @@ static VALUE rt_postscript(VALUE self,
|
|
398
398
|
rtree_t *rtree;
|
399
399
|
TypedData_Get_Struct(self, rtree_t, &rtree_type, rtree);
|
400
400
|
|
401
|
-
|
402
|
-
TypedData_Get_Struct(style_obj,
|
401
|
+
postscript_style_t *style;
|
402
|
+
TypedData_Get_Struct(style_obj, postscript_style_t, &style_type, style);
|
403
403
|
|
404
404
|
Check_Type(io_obj, T_FILE);
|
405
405
|
rb_io_t *io;
|
@@ -453,13 +453,13 @@ static rb_data_type_t rtree_type = {
|
|
453
453
|
|
454
454
|
static void st_dfree(void *p)
|
455
455
|
{
|
456
|
-
postscript_style_destroy((
|
456
|
+
postscript_style_destroy((postscript_style_t*)p);
|
457
457
|
}
|
458
458
|
|
459
459
|
static VALUE st_release(VALUE self)
|
460
460
|
{
|
461
|
-
|
462
|
-
TypedData_Get_Struct(self,
|
461
|
+
postscript_style_t *style;
|
462
|
+
TypedData_Get_Struct(self, postscript_style_t, &style_type, style);
|
463
463
|
postscript_style_destroy(style);
|
464
464
|
return self;
|
465
465
|
}
|
@@ -474,7 +474,7 @@ static VALUE st_json_read(VALUE cls, VALUE io_obj)
|
|
474
474
|
rb_io_check_readable(io);
|
475
475
|
FILE *fp = rb_io_stdio_file(io);
|
476
476
|
|
477
|
-
|
477
|
+
postscript_style_t *style;
|
478
478
|
errno = 0;
|
479
479
|
|
480
480
|
if ((style = postscript_style_read(fp)) == NULL)
|
data/lib/rtree.rb
CHANGED
@@ -71,10 +71,6 @@ class RTree < RTreeBase
|
|
71
71
|
|
72
72
|
# @!visibility private
|
73
73
|
#
|
74
|
-
# The call to exit! here has a true argument, indicationg success,
|
75
|
-
# but the value is ignored, so could be omitted; but the sigature
|
76
|
-
# for exit! is incorrect: https://github.com/ruby/rbs/issues/1298
|
77
|
-
#
|
78
74
|
def deserialise(string, encoding)
|
79
75
|
raise TypeError unless string.is_a? String
|
80
76
|
rd, wr = IO.pipe(encoding)
|
@@ -93,7 +89,7 @@ class RTree < RTreeBase
|
|
93
89
|
wr.write(string)
|
94
90
|
ensure
|
95
91
|
wr.close
|
96
|
-
exit!
|
92
|
+
exit!
|
97
93
|
end
|
98
94
|
end
|
99
95
|
result
|
@@ -101,8 +97,6 @@ class RTree < RTreeBase
|
|
101
97
|
|
102
98
|
# @!visibility private
|
103
99
|
#
|
104
|
-
# See note above on argument to exit!
|
105
|
-
#
|
106
100
|
def serialise(encoding)
|
107
101
|
rd, wr = IO.pipe(encoding)
|
108
102
|
if fork then
|
@@ -120,7 +114,7 @@ class RTree < RTreeBase
|
|
120
114
|
yield(wr)
|
121
115
|
ensure
|
122
116
|
wr.close
|
123
|
-
exit!
|
117
|
+
exit!
|
124
118
|
end
|
125
119
|
end
|
126
120
|
result
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: librtree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- J.J. Green
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -114,14 +114,28 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '1.
|
117
|
+
version: '1.4'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '1.
|
124
|
+
version: '1.4'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rbs
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.2'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '3.2'
|
125
139
|
description: |
|
126
140
|
A Ruby extension implementing the R-tree spatial-index of
|
127
141
|
Guttman-Green.
|
@@ -140,7 +154,9 @@ files:
|
|
140
154
|
- ext/rtree/lib/bindex.h
|
141
155
|
- ext/rtree/lib/bounds.h
|
142
156
|
- ext/rtree/lib/branch.c
|
157
|
+
- ext/rtree/lib/branch.h
|
143
158
|
- ext/rtree/lib/branches.c
|
159
|
+
- ext/rtree/lib/branches.h
|
144
160
|
- ext/rtree/lib/bsrt.c
|
145
161
|
- ext/rtree/lib/bsrt.h
|
146
162
|
- ext/rtree/lib/constants.h
|
@@ -154,32 +170,34 @@ files:
|
|
154
170
|
- ext/rtree/lib/mk/MakeDepend
|
155
171
|
- ext/rtree/lib/mk/Obj.mk
|
156
172
|
- ext/rtree/lib/node.c
|
173
|
+
- ext/rtree/lib/node.h
|
157
174
|
- ext/rtree/lib/package.c
|
158
175
|
- ext/rtree/lib/page.c
|
159
176
|
- ext/rtree/lib/page.h
|
160
177
|
- ext/rtree/lib/postscript.c
|
161
178
|
- ext/rtree/lib/rect.c
|
179
|
+
- ext/rtree/lib/rect.h
|
162
180
|
- ext/rtree/lib/rectf.c
|
163
181
|
- ext/rtree/lib/rtree-base.c
|
164
182
|
- ext/rtree/lib/rtree.h
|
165
183
|
- ext/rtree/lib/rtree/branch.h
|
166
|
-
- ext/rtree/lib/rtree/branches.h
|
167
184
|
- ext/rtree/lib/rtree/error.h
|
168
185
|
- ext/rtree/lib/rtree/extent.h
|
169
186
|
- ext/rtree/lib/rtree/node.h
|
170
187
|
- ext/rtree/lib/rtree/package.h
|
171
188
|
- ext/rtree/lib/rtree/postscript.h
|
172
|
-
- ext/rtree/lib/rtree/rect.h
|
173
189
|
- ext/rtree/lib/rtree/rectf.h
|
174
190
|
- ext/rtree/lib/rtree/search.h
|
175
191
|
- ext/rtree/lib/rtree/state.h
|
176
192
|
- ext/rtree/lib/rtree/types.h
|
177
193
|
- ext/rtree/lib/search.c
|
194
|
+
- ext/rtree/lib/search.h
|
178
195
|
- ext/rtree/lib/split.c
|
179
196
|
- ext/rtree/lib/split.h
|
180
197
|
- ext/rtree/lib/spvol.c
|
181
198
|
- ext/rtree/lib/spvol.h
|
182
199
|
- ext/rtree/lib/state.c
|
200
|
+
- ext/rtree/lib/state.h
|
183
201
|
- ext/rtree/rtree.c
|
184
202
|
- lib/rtree.rb
|
185
203
|
homepage: https://gitlab.com/jjg/librtree-ruby
|
@@ -203,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
221
|
version: '0'
|
204
222
|
requirements:
|
205
223
|
- The Jansson library
|
206
|
-
rubygems_version: 3.
|
224
|
+
rubygems_version: 3.3.7
|
207
225
|
signing_key:
|
208
226
|
specification_version: 4
|
209
227
|
summary: R-tree spatial index
|