rbtree3 0.5.0

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