rbtree3 0.5.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/ChangeLog +492 -0
- data/LICENSE +22 -0
- data/README +106 -0
- data/dict.c +1216 -0
- data/dict.h +123 -0
- data/extconf.rb +13 -0
- data/rbtree.c +1701 -0
- data/test.rb +950 -0
- metadata +64 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1c2ef2226948e71d0ba3350df1eb8a0887bf7494
|
4
|
+
data.tar.gz: 44be99d155c686c138be63a3185c74917349dbf1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: db4e2a47092cf4de049e7bd3c17b17d652674004fb12e1f6964c32694d328a2ab5aa821897ff5fff8f7edf1a9f27a21490c71d83cf62001a5c0a0a05923959f6
|
7
|
+
data.tar.gz: 21d7f3416a05cab89b2bc59d0fe290fa70b6409a8700dee50412c96f869f87b7dde263f2a44e60033ec2b98f424f894f501dec21a6090579a681427b64a369d4
|
data/ChangeLog
ADDED
@@ -0,0 +1,492 @@
|
|
1
|
+
2019-02-07 Kyrylo Silin
|
2
|
+
|
3
|
+
* version 0.5.0 released.
|
4
|
+
|
5
|
+
* rbtree.c: (rbtree_dump): fixed 'TypeError: instance of IO needed'
|
6
|
+
|
7
|
+
* rbtree.c: (RHASH_IFNONE): removed. Fixes compilation error
|
8
|
+
'expression is not assignable'
|
9
|
+
|
10
|
+
2009-01-27 OZAWA Takuma
|
11
|
+
|
12
|
+
* version 0.2.1 released.
|
13
|
+
|
14
|
+
* README: fixed documents.
|
15
|
+
|
16
|
+
* rbtree.c: ditto.
|
17
|
+
|
18
|
+
2009-01-23 OZAWA Takuma
|
19
|
+
|
20
|
+
* rbtree.c (RETURN_ENUMERATOR): do nothing if rb_enumeratorize not
|
21
|
+
defined.
|
22
|
+
|
23
|
+
* rbtree.c (RBTREE_IN_ITERATION): removed. it has been not used.
|
24
|
+
|
25
|
+
* rbtree.c (HAVE_RB_MARSHAL_LOAD, HAVE_RB_OBJ_INIT_COPY,
|
26
|
+
HAVE_OBJECT_ALLOCATE, HAVE_RB_BLOCK_PROC, HAVE_RB_YIELD_VALUES):
|
27
|
+
removed macros for Ruby 1.6.x.
|
28
|
+
|
29
|
+
* extconf.rb (HAVE_RB_MARSHAL_LOAD, HAVE_RB_OBJ_INIT_COPY,
|
30
|
+
HAVE_OBJECT_ALLOCATE, HAVE_RB_BLOCK_PROC, HAVE_RB_YIELD_VALUES):
|
31
|
+
ditto.
|
32
|
+
|
33
|
+
* rbtree.c (cmpint): removed a few codes for Ruby 1.6.x.
|
34
|
+
|
35
|
+
* test.rb: ditto.
|
36
|
+
|
37
|
+
* test.rb: (assert_raise): removed an alias for RubyUnit. use
|
38
|
+
assert_raises.
|
39
|
+
|
40
|
+
* extconf.rb: removed checking for inline keyword.
|
41
|
+
|
42
|
+
2009-01-21 OZAWA Takuma
|
43
|
+
|
44
|
+
* extconf.rb: removed gcc options for portability. Thanks to
|
45
|
+
Masatoshi SEKI.
|
46
|
+
|
47
|
+
2008-12-26 OZAWA Takuma
|
48
|
+
|
49
|
+
* rbtree.c (rbtree_each, rbtree_each_pair, rbtree_each_key,
|
50
|
+
rbtree_each_value, rbtree_reverse_each, rbtree_delete_if,
|
51
|
+
rbtree_reject_bang, rbtree_select): Return an enumerator if no
|
52
|
+
block is given.
|
53
|
+
|
54
|
+
2008-12-24 OZAWA Takuma
|
55
|
+
|
56
|
+
* rbtree.c (rbtree_s_create): check and convert argument inner arrays (assocs) using #to_ary.
|
57
|
+
|
58
|
+
* rbtree.c (rbtree_s_create): check and convert argument hash using #to_hash.
|
59
|
+
|
60
|
+
* rbtree.c (rbtree_s_create): RBTree#[] now takes assocs as source of rbtree conversion.
|
61
|
+
|
62
|
+
* rbtree.c (rbtree_to_hash): can't convert MultiRBTree to Hash.
|
63
|
+
|
64
|
+
* rbtree.c (rbtree_s_create): can't convert MultiRBTree to RBTree.
|
65
|
+
|
66
|
+
* rbtree.c (rbtree_s_create, rbtree_values_at): use long for loop counter instead of int.
|
67
|
+
|
68
|
+
2007-09-21 OZAWA Takuma
|
69
|
+
|
70
|
+
* extconf.rb: no gcc options for mswin32.
|
71
|
+
|
72
|
+
2007-02-01 OZAWA Takuma
|
73
|
+
|
74
|
+
* version 0.2.0 released.
|
75
|
+
|
76
|
+
2007-01-25 OZAWA Takuma
|
77
|
+
|
78
|
+
* rbtree.c (rbtree_readjust): remove a warning.
|
79
|
+
|
80
|
+
* rbtree.c (rbtree_default): should not call default procedure if
|
81
|
+
no key is given.
|
82
|
+
|
83
|
+
* rbtree.c (rbtree_equal): returns true if two rbtrees have same
|
84
|
+
set of key-value set.
|
85
|
+
|
86
|
+
2004-10-27 OZAWA Takuma
|
87
|
+
|
88
|
+
* version 0.1.3 released.
|
89
|
+
|
90
|
+
2004-07-29 OZAWA Takuma
|
91
|
+
|
92
|
+
* rbtree.c (rbtree_bound): RBTree#bound(lower, upper = lower).
|
93
|
+
|
94
|
+
2004-07-11 OZAWA Takuma
|
95
|
+
|
96
|
+
* rbtree.c (MultiRBTree): new class. MultiRBTree allows duplicates
|
97
|
+
of keys.
|
98
|
+
|
99
|
+
* rbtree.c (rbtree_dump, rbtree_s_load): use Array as a storage
|
100
|
+
for performance improvement.
|
101
|
+
|
102
|
+
* rbtree.c (rbtree_equal, rbtree_initialize_copy, rbtree_update):
|
103
|
+
should use rb_obj_is_kind_of.
|
104
|
+
|
105
|
+
* rbtree.c (iter_lev): added to count iterator level for nesting
|
106
|
+
and thread-safety.
|
107
|
+
|
108
|
+
2004-06-29 OZAWA Takuma
|
109
|
+
|
110
|
+
* dict.c: remove codes Ruby/RBTree doesn't need. now not supposed
|
111
|
+
to use dict.c with other program.
|
112
|
+
|
113
|
+
* dict.h: ditto.
|
114
|
+
|
115
|
+
* dict.c (dict_equal): remove key_eql argument. use
|
116
|
+
dict->dict_compare to compare keys.
|
117
|
+
|
118
|
+
2004-06-20 OZAWA Takuma
|
119
|
+
|
120
|
+
* rbtree.c (rbtree_cmp): use rb_str_cmp if the type of keys is
|
121
|
+
string.
|
122
|
+
|
123
|
+
* rbtree.c (rbtree_cmp): use rb_cmpint.
|
124
|
+
|
125
|
+
* rbtree.c (rbtree_user_cmp): ditto.
|
126
|
+
|
127
|
+
2004-06-12 OZAWA Takuma
|
128
|
+
|
129
|
+
* version 0.1.2 release.
|
130
|
+
|
131
|
+
2004-05-31 OZAWA Takuma
|
132
|
+
|
133
|
+
* rbtree.c (rbtree_initialize_copy): if an exception is raised in
|
134
|
+
the method rbtree is not modified.
|
135
|
+
|
136
|
+
* rbtree.c (rbtree_delete_if): if an exception is raised in the
|
137
|
+
block rbtree is not modified(no keys are deleted).
|
138
|
+
|
139
|
+
* rbtree.c (rbtree_readjust): use rb_gc_force_recycle.
|
140
|
+
|
141
|
+
2004-05-24 OZAWA Takuma
|
142
|
+
|
143
|
+
* rbtree.c (rbtree_initialize_copy): use aset_i. duplicating a key
|
144
|
+
of string is fast because of copy-on-write.
|
145
|
+
|
146
|
+
* rbtree.c (rbtree_readjust): ditto.
|
147
|
+
|
148
|
+
* rbtree.c (rbtree_update): ditto.
|
149
|
+
|
150
|
+
* rbtree.c (rbtree_aset): no dict_lookup for better performance.
|
151
|
+
|
152
|
+
* rbtree.c (rbtree_update): was same whether a block is given or not.
|
153
|
+
|
154
|
+
2004-05-23 OZAWA Takuma
|
155
|
+
|
156
|
+
* rbtree.c (inspect_rbtree): add OBJ_INFECTs.
|
157
|
+
|
158
|
+
* rbtree.c (inspect_rbtree): change ``compare'' to ``cmp_proc''.
|
159
|
+
|
160
|
+
* rbtree.c (pp_block): ditto.
|
161
|
+
|
162
|
+
2004-04-26 OZAWA Takuma
|
163
|
+
|
164
|
+
* rbtree.c (rbtree_s_create): accept Hash argument.
|
165
|
+
|
166
|
+
* rbtree.c (rbtree_s_create): should just copy keys and values.
|
167
|
+
|
168
|
+
2004-02-19 OZAWA Takuma
|
169
|
+
|
170
|
+
* rbtree.c (pp_object_group): use id_object_group.
|
171
|
+
|
172
|
+
2004-02-16 OZAWA Takuma
|
173
|
+
|
174
|
+
* version 0.1.1 release.
|
175
|
+
|
176
|
+
2004-02-13 OZAWA Takuma
|
177
|
+
|
178
|
+
* README: rewritten.
|
179
|
+
|
180
|
+
* rbtree.c (document): incomplete document for rdoc.
|
181
|
+
|
182
|
+
2004-02-08 OZAWA Takuma
|
183
|
+
|
184
|
+
* test.rb (test_pp): add pretty printing test.
|
185
|
+
|
186
|
+
2004-02-07 OZAWA Takuma
|
187
|
+
|
188
|
+
* rbtree.c (rbtree_mark): should check rbtree and dict is
|
189
|
+
initialized. Thanks to Neil Spring.
|
190
|
+
|
191
|
+
2004-02-05 OZAWA Takuma
|
192
|
+
|
193
|
+
* rbtree.c (prettyprint): polish code.
|
194
|
+
|
195
|
+
* test.rb (assert_raise): alias of assert_raises for Ruby 1.6.x.
|
196
|
+
|
197
|
+
2004-02-02 OZAWA Takuma
|
198
|
+
|
199
|
+
* test.rb: clean code. no more RUnit support. use Test::Unit.
|
200
|
+
|
201
|
+
2004-01-29 OZAWA Takuma
|
202
|
+
|
203
|
+
* rbtree.c (rbtree_dump): optimization.
|
204
|
+
|
205
|
+
* rbtree.c (rbtree_s_load): ditto.
|
206
|
+
|
207
|
+
2004-01-27 OZAWA Takuma
|
208
|
+
|
209
|
+
* rbtree.c (readjust): RBTree#readjust() just readjusts elements
|
210
|
+
using current comparison block. use RBTree#readjust(nil) to set
|
211
|
+
default comparison block.
|
212
|
+
|
213
|
+
* extconf.rb (assertion): removed.
|
214
|
+
|
215
|
+
2004-01-14 OZAWA Takuma
|
216
|
+
|
217
|
+
* ctest/test.c: removed.
|
218
|
+
|
219
|
+
* ctest/testlib.c: ditto.
|
220
|
+
|
221
|
+
* ctest/testlib.h: ditto.
|
222
|
+
|
223
|
+
* ctest/Makefile: ditto.
|
224
|
+
|
225
|
+
2004-01-04 OZAWA Takuma
|
226
|
+
|
227
|
+
* version 0.1.0 release.
|
228
|
+
|
229
|
+
2004-01-03 OZAWA Takuma
|
230
|
+
|
231
|
+
* rbtree.c (rbtree_to_rbtree): new method.
|
232
|
+
|
233
|
+
* rbtree.c (each_pair_i, rbtree_bound_body, rbtree_delete_if_body,
|
234
|
+
select_i, update_block_i): use rb_yield_values.
|
235
|
+
|
236
|
+
* rbtree.c (rbtree_each): RBTree#each should yield single value.
|
237
|
+
|
238
|
+
* rbtree.c (rbtree_select): select(key..) is removed.
|
239
|
+
|
240
|
+
* rbtree.c (rbtree_fetch): always warn if default argument and a
|
241
|
+
block are supplied at the same time.
|
242
|
+
|
243
|
+
2003-08-12 takuma ozawa
|
244
|
+
|
245
|
+
* version 0.0.7 release.
|
246
|
+
|
247
|
+
2003-08-11 takuma ozawa
|
248
|
+
|
249
|
+
* rbtree.c (rbtree_to_hash): copy default value.
|
250
|
+
|
251
|
+
* rbtree.c (rbtree_readjust): takes a Proc argument.
|
252
|
+
|
253
|
+
* rbtree.c (to_hash_i): optimization.
|
254
|
+
|
255
|
+
2003-08-09 takuma ozawa
|
256
|
+
|
257
|
+
* rbtree.c (rbtree_merge): new method.
|
258
|
+
|
259
|
+
* rbtree.c (rbtree_select): select(key..) is deprecated.
|
260
|
+
|
261
|
+
* rbtree.c (rbtree_values_at): new method.
|
262
|
+
|
263
|
+
* rbtree.c (rbtree_initialized_copy): rbtree_copy_object changed to.
|
264
|
+
|
265
|
+
2003-07-27 takuma ozawa
|
266
|
+
|
267
|
+
* rbtree.c (rbtree_dump): new method based on Ara Howard's code.
|
268
|
+
Thanks.
|
269
|
+
|
270
|
+
* rbtree.c (rbtree_s_load): ditto.
|
271
|
+
|
272
|
+
2003-03-25 takuma ozawa
|
273
|
+
|
274
|
+
* version 0.0.6 release.
|
275
|
+
|
276
|
+
2003-02-26 takuma ozawa
|
277
|
+
|
278
|
+
* rbtree.c (rbtree_readjust): rbtree_modify.
|
279
|
+
|
280
|
+
2003-02-23 takuma ozawa
|
281
|
+
|
282
|
+
* rbtree.c (rbtree_copy_object): use copy_i.
|
283
|
+
|
284
|
+
* rbtree.c (rbtree_readjust): ditto.
|
285
|
+
|
286
|
+
* rbtree.c (rbtree_aset): not freeze a key.
|
287
|
+
|
288
|
+
2003-01-24 takuma ozawa
|
289
|
+
|
290
|
+
* rbtree.c (rbtree_aset): optimization.
|
291
|
+
|
292
|
+
2003-01-18 takuma ozawa
|
293
|
+
|
294
|
+
* rbtree.c (rbtree_aset): not raise an exception if a dict is
|
295
|
+
full and the key has been contained.
|
296
|
+
|
297
|
+
2003-01-16 takuma ozawa
|
298
|
+
|
299
|
+
* version 0.0.5 release.
|
300
|
+
|
301
|
+
2002-12-26 takuma ozawa
|
302
|
+
|
303
|
+
* rbtree.c (rbtree_alloc): new allocation framework.
|
304
|
+
|
305
|
+
* rbtree.c (rbtree_copy_object): changed become to copy_object.
|
306
|
+
|
307
|
+
* rbtree.c (rbtree_cmp): use NUM2INT in case nil returned.
|
308
|
+
|
309
|
+
* extconf.rb (assertion): assertion is off by default.
|
310
|
+
|
311
|
+
* rbtree.c (rbtree_aset): fixed a memory leak occured if the
|
312
|
+
comparison block raises an exception.
|
313
|
+
|
314
|
+
2002-11-24 takuma ozawa
|
315
|
+
|
316
|
+
* rbtree.c (rbtree_pretty_print): new method.
|
317
|
+
|
318
|
+
* rbtree.c (rbtree_pretty_print_cycle): new method.
|
319
|
+
|
320
|
+
2002-11-22 takuma ozawa
|
321
|
+
|
322
|
+
* rbtree.c (rbtree_inspect): format changed.
|
323
|
+
|
324
|
+
* rbtree.c (rbtree_user_cmp): use NUM2INT.
|
325
|
+
|
326
|
+
2002-10-29 takuma ozawa
|
327
|
+
|
328
|
+
* version 0.0.4 release.
|
329
|
+
|
330
|
+
2002-10-18 takuma ozawa
|
331
|
+
|
332
|
+
* extconf.rb (assertion): change name to assertion.
|
333
|
+
|
334
|
+
2002-10-12 takuma ozawa
|
335
|
+
|
336
|
+
* rbtree.c (rbtree_readjust): assign Qnil to other's dict_context
|
337
|
+
after swap.
|
338
|
+
|
339
|
+
* rbtree.c (rbtree_bound): use dict_compare for range check.
|
340
|
+
|
341
|
+
2002-10-10 takuma ozawa
|
342
|
+
|
343
|
+
* rbtree.c (rbtree_readjust): empty dict check.
|
344
|
+
|
345
|
+
* rbtree.c (rbtree_readjust): not use dict_readjust for better
|
346
|
+
readability.
|
347
|
+
|
348
|
+
* rbtree.c (rbtree_become): must copy dict_compare and
|
349
|
+
dict_context before copying nodes.
|
350
|
+
|
351
|
+
* rbtree.c (rbtree_delete_if): rbtree_modify.
|
352
|
+
|
353
|
+
* rbtree.c (rbtree_shift_pop): ditto.
|
354
|
+
|
355
|
+
* rbtree.c (rbtree_update): ditto.
|
356
|
+
|
357
|
+
* test.rb: Test::Unit.
|
358
|
+
|
359
|
+
* rbtree.c (rbtree_readjust): clear other's nodes after swap.
|
360
|
+
|
361
|
+
* rbtree.c (rbtree_readjust): assign Qnil to other's ifnone after
|
362
|
+
swap.
|
363
|
+
|
364
|
+
2002-10-07 takuma ozawa
|
365
|
+
|
366
|
+
* rbtree.c (rbtree_update): self assignment check.
|
367
|
+
|
368
|
+
* rbtree.c (rbtree_update): replace duplicate value by return
|
369
|
+
value of block if given.
|
370
|
+
|
371
|
+
2002-10-03 takuma ozawa
|
372
|
+
|
373
|
+
* rbtree.c (rbtree_become): self assignment check.
|
374
|
+
|
375
|
+
2002-09-24 takuma ozawa
|
376
|
+
|
377
|
+
* rbtree.c (rbtree_cmp_proc): new method.
|
378
|
+
|
379
|
+
* rbtree.c (rbtree_readjust): if no block given, must assign Qnil
|
380
|
+
to context.
|
381
|
+
|
382
|
+
* rbtree.c (rbtree_inspect): format changed.
|
383
|
+
|
384
|
+
2002-09-23 takuma ozawa
|
385
|
+
|
386
|
+
* dict.c (dict_equal): empty test must be after similar test.
|
387
|
+
|
388
|
+
2002-09-22 takuma ozawa
|
389
|
+
|
390
|
+
* rbtree.c (rbtree_update): convert argument to RBTree.
|
391
|
+
|
392
|
+
* rbtree.c (rbtree_become): ditto.
|
393
|
+
|
394
|
+
* rbtree.c (rbtree_eq): use rb_equal.
|
395
|
+
|
396
|
+
* rbtree.c (rbtree_eql): change name to rbtree_eq.
|
397
|
+
|
398
|
+
2002-09-20 takuma ozawa
|
399
|
+
|
400
|
+
* rbtree.c (RBTREE_FL_COPY): removed.
|
401
|
+
|
402
|
+
* ctest/test.c: rewritten in C. CppUnit is not required.
|
403
|
+
|
404
|
+
2002-09-18 takuma ozawa
|
405
|
+
|
406
|
+
* depend: new file.
|
407
|
+
|
408
|
+
* rbtree.c (rbtree_equal): no need to check RBTREE_PROC_DEFAULT.
|
409
|
+
|
410
|
+
* extconf.rb (inline) check for inline keyword.
|
411
|
+
|
412
|
+
2002-09-17 takuma ozawa
|
413
|
+
|
414
|
+
* version 0.0.3 release.
|
415
|
+
|
416
|
+
2002-09-16 takuma ozawa
|
417
|
+
|
418
|
+
* rbtree.c (rbtree_reverse_each): new method.
|
419
|
+
|
420
|
+
2002-09-12 takuma ozawa
|
421
|
+
|
422
|
+
* rbtree.c (rbtree_s_create): unset RBTREE_PROC_DEFAULT if the
|
423
|
+
argument is RBTree.
|
424
|
+
|
425
|
+
* rbtree.c (rbtree_clone): use rbtree_become.
|
426
|
+
|
427
|
+
* rbtree.c (version.h): not included.
|
428
|
+
|
429
|
+
2002-09-11 takuma ozawa
|
430
|
+
|
431
|
+
* rbtree.c (rbtree_to_a): use OBJ_INFECT.
|
432
|
+
|
433
|
+
* rbtree.c (rbtree_to_hash): ditto.
|
434
|
+
|
435
|
+
* rbtree.c (rbtree_become): replaced by rbtree_replace.
|
436
|
+
|
437
|
+
* rbtree.c (rbtree_replace): removed. replace is implemented
|
438
|
+
useing rbtree_become.
|
439
|
+
|
440
|
+
* rbtree.c (rbtree_first_last): first or pop from empty tree
|
441
|
+
should not return its default proc.
|
442
|
+
|
443
|
+
2002-09-09 takuma ozawa
|
444
|
+
|
445
|
+
* rbtree.c (rbtree_become): new method.
|
446
|
+
|
447
|
+
* rbtree.c (rbtree_clone): unset RBTREE_IN_ITERATION.
|
448
|
+
|
449
|
+
* rbtree.c (rbtree_replace): should copy ifnone.
|
450
|
+
|
451
|
+
* rbtree.c (rbtree_shift_pop): shift or pop from empty tree should
|
452
|
+
not return its default proc.
|
453
|
+
|
454
|
+
* rbtree.c (rbtree_default_proc): new method.
|
455
|
+
|
456
|
+
* rbtree.c (rbtree_equal): should check default values and
|
457
|
+
RBTREE_PROC_DEFAULT.
|
458
|
+
|
459
|
+
2002-07-19 takuma ozawa
|
460
|
+
|
461
|
+
* dict.c (alloc_node): must return NULL if a memory allocation
|
462
|
+
fails.
|
463
|
+
|
464
|
+
2002-07-13 takuma ozawa
|
465
|
+
|
466
|
+
* version 0.0.2 release.
|
467
|
+
|
468
|
+
2002-07-11 takuma ozawa
|
469
|
+
|
470
|
+
* rbtree.c (rbtree_readjust): new method.
|
471
|
+
|
472
|
+
2002-07-10 takuma ozawa
|
473
|
+
|
474
|
+
* dict.c (dict_clone): clone object must copy must_unfreeze
|
475
|
+
variable.
|
476
|
+
|
477
|
+
2002-06-25 takuma ozawa
|
478
|
+
|
479
|
+
* dict.h (dnode_t): add must_freeze flag not to unfreeze already
|
480
|
+
freezed object.
|
481
|
+
|
482
|
+
2002-06-22 takuma ozawa
|
483
|
+
|
484
|
+
* rbtree.c (rbtree_first): new method.
|
485
|
+
|
486
|
+
* rbtree.c (rbtree_last): new method.
|
487
|
+
|
488
|
+
* rbtree.c (rbtree_pop): new method.
|
489
|
+
|
490
|
+
2002-06-14 takuma ozawa
|
491
|
+
|
492
|
+
* initial release.
|