| verzia 1.3, 2003/02/23 17:39:24 |
verzia 1.4, 2003/03/30 10:27:38 |
|
|
| /* {{{ includes */ |
/* {{{ includes */ |
| #include "co_vector.h" |
#include "co_vector.h" |
| #include "test_util.h" |
#include "test_util.h" |
| |
#include "co_conv.h" |
| #include <limits.h> |
#include <limits.h> |
| /* }}} */ |
/* }}} */ |
| |
|
|
|
| { |
{ |
| co v; |
co v; |
| int i, j, last; |
int i, j, last; |
| co_vector_item item; |
co_o_small item; |
| |
|
| co super; |
co super; |
| super = co_super_new (); |
super = co_init (); |
| __co_file_init_vector_c (super); |
__co_file_init_vector_c (super); |
| |
|
| v = CO_NEW (co_vector); |
v = co_vector_new (); |
| |
|
| for (i = 0; i < ITEMS; i ++) { |
for (i = 0; i < ITEMS; i ++) { |
| j = (int)(1+(50000.0*rand()/(RAND_MAX+1.0))); |
j = (int)(1+(50000.0*rand()/(RAND_MAX+1.0))); |
| CO_DEBUG (1, "appending value: %d ", j); |
CO_DEBUG (1, "appending value: %d ", j); |
| CO_M (v, item_add, CO_NEW (co_vector_item, co_t_int, j)); |
item = co_vector_item_new (); |
| |
M (item, bless, co_t_int, j); |
| |
CO_M (v, item_add, item); |
| } |
} |
| CO_M (v, sort); |
CO_M (v, sort); |
| //last = 0xFFFFFFFFFFFFLL; |
//last = 0xFFFFFFFFFFFFLL; |
| last = 0; |
last = 0; |
| for (i = 0; i < ITEMS; i ++) { |
for (i = 0; i < ITEMS; i ++) { |
| item = CO_M (v, item_get, i) . _co; |
item = CO_M (v, item_get, i) . _co; |
| j = item -> v . _int; |
j = CO_A (int, item, v); |
| CO_DEBUG (1, "item: %d, last: %d", j, last); |
CO_DEBUG (1, "item: %d, last: %d", j, last); |
| if (j < last) |
if (j < last) |
| error (1, "sorting failed (bad order)\n"); |
error (1, "sorting failed (bad order)\n"); |
| last = j; |
last = j; |
| } |
} |
| item = CO_M (v, item_get, ITEMS - 1) . _co; |
item = CO_M (v, item_get, ITEMS - 1) . _co; |
| last = item -> v . _int; |
last = CO_A (int, item, v); |
| for (i = 0; i < ITEMS; i ++) |
for (i = 0; i < ITEMS; i ++) |
| { |
{ |
| if (i == ITEMS - 1) { |
if (i == ITEMS - 1) { |
| item = CO_M (v, item_get, 0) . _co; |
item = CO_M (v, item_get, 0) . _co; |
| if (last != item -> v . _int) |
if (last != CO_A (int, item, v)) |
| error (1, "removal isn't working properly\n"); |
error (1, "removal isn't working properly\n"); |
| } |
} |
| CO_M (v, item_remove, 0); |
CO_M (v, item_remove, 0); |
| } |
} |
| CO_M (v, destroy); |
CO_M (v, delete); |
| |
|
| return 0; |
return 0; |
| } /* }}} */ |
} /* }}} */ |