Home | History | Annotate | Download | only in tests

Lines Matching refs:oset

83    // Create a static OSet of Ints.  This one uses fast (built-in)
85 OSet* oset = VG_(OSetGen_Create)(0,
89 // Try some operations on an empty OSet to ensure they don't screw up.
90 vg_assert( ! VG_(OSetGen_Contains)(oset, &v) );
91 vg_assert( ! VG_(OSetGen_Lookup)(oset, &v) );
92 vg_assert( ! VG_(OSetGen_Remove)(oset, &v) );
93 vg_assert( ! VG_(OSetGen_Next)(oset) );
94 vg_assert( 0 == VG_(OSetGen_Size)(oset) );
99 vs[i] = VG_(OSetGen_AllocNode)(oset, sizeof(Word));
113 VG_(OSetGen_Insert)(oset, vs[i]);
117 vg_assert( NN == VG_(OSetGen_Size)(oset) );
121 assert( VG_(OSetGen_Contains)(oset, vs[i]) );
127 assert( ! VG_(OSetGen_Contains)(oset, &v) );
130 assert( ! VG_(OSetGen_Contains)(oset, &v) );
133 assert( ! VG_(OSetGen_Contains)(oset, &v) );
138 assert( vs[i] == VG_(OSetGen_Lookup)(oset, vs[i]) );
141 // Check that we can iterate over the OSet elements in sorted order, and
146 VG_(OSetGen_ResetIter)(oset);
147 while ( (pv = VG_(OSetGen_Next)(oset)) ) {
154 vg_assert( ! VG_(OSetGen_Next)(oset) );
155 vg_assert( ! VG_(OSetGen_Next)(oset) );
160 assert( pv = VG_(OSetGen_Remove)(oset, vs[i]) );
165 vg_assert( NN/2 == VG_(OSetGen_Size)(oset) );
169 assert( pv = VG_(OSetGen_LookupWithCmp)(oset, vs[i], NULL) );
175 assert( ! VG_(OSetGen_Contains)(oset, vs[i]) );
181 assert( pv = VG_(OSetGen_Remove)(oset, vs[i]) );
185 // Try some more operations on the empty OSet to ensure they don't screw up.
186 vg_assert( ! VG_(OSetGen_Contains)(oset, &v) );
187 vg_assert( ! VG_(OSetGen_Lookup)(oset, &v) );
188 vg_assert( ! VG_(OSetGen_Remove)(oset, &v) );
189 vg_assert( ! VG_(OSetGen_Next)(oset) );
190 vg_assert( 0 == VG_(OSetGen_Size)(oset) );
193 VG_(OSetGen_FreeNode)(oset, vs[0]);
194 VG_(OSetGen_FreeNode)(oset, vs[1]);
195 VG_(OSetGen_FreeNode)(oset, vs[2]);
200 VG_(OSetGen_Insert)(oset, vs[i]);
204 OSet_Print(oset, "oset1", wordToStr);
206 // Destroy the OSet
207 VG_(OSetGen_Destroy)(oset);
217 // Create a static OSet of Ints. This one uses fast (built-in)
219 OSet* oset = VG_(OSetWord_Create)(allocate_node, "oset_test.2", free_node);
221 // Try some operations on an empty OSet to ensure they don't screw up.
222 vg_assert( ! VG_(OSetWord_Contains)(oset, v) );
223 vg_assert( ! VG_(OSetWord_Remove)(oset, v) );
224 vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
225 vg_assert( 0 == VG_(OSetWord_Size)(oset) );
243 VG_(OSetWord_Insert)(oset, vs[i]);
247 vg_assert( NN == VG_(OSetWord_Size)(oset) );
251 assert( VG_(OSetWord_Contains)(oset, vs[i]) );
257 assert( ! VG_(OSetWord_Contains)(oset, v) );
260 assert( ! VG_(OSetWord_Contains)(oset, v) );
263 assert( ! VG_(OSetWord_Contains)(oset, v) );
267 assert( VG_(OSetWord_Contains)(oset, vs[i]) );
270 // Check that we can iterate over the OSet elements in sorted order, and
274 VG_(OSetWord_ResetIter)(oset);
275 while ( VG_(OSetWord_Next)(oset, &v) ) {
282 vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
283 vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
287 assert( VG_(OSetWord_Remove)(oset, vs[i]) );
291 vg_assert( NN/2 == VG_(OSetWord_Size)(oset) );
295 assert( VG_(OSetWord_Contains)(oset, vs[i]) );
300 assert( ! VG_(OSetWord_Contains)(oset, vs[i]) );
305 assert( VG_(OSetWord_Remove)(oset, vs[i]) );
308 // Try some more operations on the empty OSet to ensure they don't screw up.
309 vg_assert( ! VG_(OSetWord_Contains)(oset, v) );
310 vg_assert( ! VG_(OSetWord_Remove)(oset, v) );
311 vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
312 vg_assert( 0 == VG_(OSetWord_Size)(oset) );
317 VG_(OSetWord_Insert)(oset, vs[i]);
321 OSet_Print(oset, "oset1b", wordToStr);
323 // Destroy the OSet
324 VG_(OSetWord_Destroy)(oset);
334 // also demonstrates how an OSet can be used to implement a list of
373 // Create a dynamic OSet of Blocks. This one uses slow (custom)
375 OSet* oset = VG_(OSetGen_Create)(offsetof(Block, first),
379 // Try some operations on an empty OSet to ensure they don't screw up.
380 vg_assert( ! VG_(OSetGen_Contains)(oset, &v) );
381 vg_assert( ! VG_(OSetGen_Lookup)(oset, &v) );
382 vg_assert( ! VG_(OSetGen_Remove)(oset, &v) );
383 vg_assert( ! VG_(OSetGen_Next)(oset) );
384 vg_assert( 0 == VG_(OSetGen_Size)(oset) );
389 vs[i] = VG_(OSetGen_AllocNode)(oset, sizeof(Block));
406 VG_(OSetGen_Insert)(oset, vs[i]);
410 vg_assert( NN == VG_(OSetGen_Size)(oset) );
415 a = vs[i]->first + 0; assert( VG_(OSetGen_Contains)(oset, &a) );
416 a = vs[i]->first + 1; assert( VG_(OSetGen_Contains)(oset, &a) );
417 a = vs[i]->first + 2; assert( VG_(OSetGen_Contains)(oset, &a) );
423 assert( ! VG_(OSetGen_Contains)(oset, &a) );
425 a = vs[i]->first - 1; assert( ! VG_(OSetGen_Contains)(oset, &a) );
426 a = vs[i]->first + 3; assert( ! VG_(OSetGen_Contains)(oset, &a) );
432 a = vs[i]->first + 0; assert( vs[i] == VG_(OSetGen_Lookup)(oset, &a) );
433 a = vs[i]->first + 1; assert( vs[i] == VG_(OSetGen_Lookup)(oset, &a) );
434 a = vs[i]->first + 2; assert( vs[i] == VG_(OSetGen_Lookup)(oset, &a) );
435 assert( vs[i] == VG_(OSetGen_LookupWithCmp)(oset, &a, blockCmp) );
438 // Check that we can iterate over the OSet elements in sorted order, and
443 VG_(OSetGen_ResetIter)(oset);
444 while ( (pv = VG_(OSetGen_Next)(oset)) ) {
451 vg_assert( ! VG_(OSetGen_Next)(oset) );
452 vg_assert( ! VG_(OSetGen_Next)(oset) );
457 a = vs[i]->first; assert( vs[i] == VG_(OSetGen_Remove)(oset, &a) );
461 vg_assert( NN/2 == VG_(OSetGen_Size)(oset) );
465 a = vs[i]->first + 0; assert( vs[i] == VG_(OSetGen_Lookup)(oset, &a) );
466 a = vs[i]->first + 1; assert( vs[i] == VG_(OSetGen_Lookup)(oset, &a) );
467 a = vs[i]->first + 2; assert( vs[i] == VG_(OSetGen_Lookup)(oset, &a) );
472 a = vs[i]->first + 0; assert( ! VG_(OSetGen_Contains)(oset, &a) );
473 a = vs[i]->first + 1; assert( ! VG_(OSetGen_Contains)(oset, &a) );
474 a = vs[i]->first + 2; assert( ! VG_(OSetGen_Contains)(oset, &a) );
480 a = vs[i]->first; assert( vs[i] == VG_(OSetGen_Remove)(oset, &a) );
483 // Try some more operations on the empty OSet to ensure they don't screw up.
484 vg_assert( ! VG_(OSetGen_Contains)(oset, &v) );
485 vg_assert( ! VG_(OSetGen_Lookup)(oset, &v) );
486 vg_assert( ! VG_(OSetGen_Remove)(oset, &v) );
487 vg_assert( ! VG_(OSetGen_Next)(oset) );
488 vg_assert( 0 == VG_(OSetGen_Size)(oset) );
492 VG_(OSetGen_Insert)(oset, vs[i]);
495 // Destroy the OSet
496 VG_(OSetGen_Destroy)(oset);