librtree 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|