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.
Files changed (10) hide show
  1. checksums.yaml +7 -0
  2. data/ChangeLog +492 -0
  3. data/LICENSE +22 -0
  4. data/README +106 -0
  5. data/dict.c +1216 -0
  6. data/dict.h +123 -0
  7. data/extconf.rb +13 -0
  8. data/rbtree.c +1701 -0
  9. data/test.rb +950 -0
  10. metadata +64 -0
@@ -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
@@ -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.