Lines Matching refs:seq
59 g_sequence_check (GSequence *seq)
61 GSequenceNode *node = seq->end_node;
71 g_assert (seq->end_node == node);
72 g_assert (node->data == seq);
106 SequenceInfo *seq;
147 g_assert (item->seq == info);
159 new_item (SequenceInfo *seq)
162 seq->n_items++;
163 item->seq = seq;
177 item->seq->n_items--;
266 GSequence *seq = data;
273 if (seq)
275 g_assert (g_sequence_iter_get_sequence (iter_a) == seq);
276 g_assert (g_sequence_iter_get_sequence (iter_b) == seq);
286 queue_link_index (SequenceInfo *seq, GList *link)
289 return g_queue_link_index (seq->queue, link);
291 return g_queue_get_length (seq->queue);
295 get_random_range (SequenceInfo *seq,
301 int length = g_queue_get_length (seq->queue);
305 g_assert (length == g_sequence_get_length (seq->sequence));
308 *begin_iter = g_sequence_get_iter_at_pos (seq->sequence, b);
310 *end_iter = g_sequence_get_iter_at_pos (seq->sequence, e);
312 *begin_link = g_queue_peek_nth_link (seq->queue, b);
314 *end_link = g_queue_peek_nth_link (seq->queue, e);
318 queue_link_index (seq, *begin_link) ==
324 queue_link_index (seq, *end_link) ==
330 get_random_position (SequenceInfo *seq)
332 int length = g_queue_get_length (seq->queue);
334 g_assert (length == g_sequence_get_length (seq->sequence));
340 get_random_iter (SequenceInfo *seq,
344 int pos = get_random_position (seq);
346 *link = g_queue_peek_nth_link (seq->queue, pos);
347 iter = g_sequence_get_iter_at_pos (seq->sequence, pos);
349 g_assert (queue_link_index (seq, *link) == g_sequence_iter_get_position (iter));
354 dump_info (SequenceInfo *seq)
360 iter = g_sequence_get_begin_iter (seq->sequence);
361 list = seq->queue->head;
363 while (iter != g_sequence_get_end_iter (seq->sequence))
376 queue_insert_before (SequenceInfo *seq, GList *link, gpointer data)
379 g_queue_insert_before (seq->queue, link, data);
381 g_queue_push_tail (seq->queue, data);
410 SequenceInfo *seq = RANDOM_SEQUENCE();
414 g_print ("%d on %p\n", op, seq);
422 g_queue_free (seq->queue);
423 g_sequence_free (seq->sequence);
425 g_assert (seq->n_items == 0);
427 seq->queue = g_queue_new ();
428 seq->sequence = g_sequence_new (free_item);
430 check_integrity (seq);
435 int slen = g_sequence_get_length (seq->sequence);
436 int qlen = g_queue_get_length (seq->queue);
443 GList *link = seq->queue->head;
444 g_sequence_foreach (seq->sequence, seq_foreach, &link);
453 get_random_range (seq, &begin_iter, &end_iter, &begin_link, &end_link);
455 check_integrity (seq);
464 dump_info (seq);
466 g_sequence_sort (seq->sequence, compare_items, NULL);
467 g_queue_sort (seq->queue, compare_iters, NULL);
469 check_sorted (seq);
471 dump_info (seq);
476 check_integrity (seq);
477 g_sequence_sort_iter (seq->sequence,
478 (GSequenceIterCompareFunc)compare_iters, seq->sequence);
479 g_queue_sort (seq->queue, compare_iters, NULL);
480 check_sorted (seq);
492 begin_iter = g_sequence_get_begin_iter (seq->sequence);
493 check_integrity (seq);
495 end_iter = g_sequence_get_end_iter (seq->sequence);
496 check_integrity (seq);
499 check_integrity (seq);
501 if (g_sequence_get_length (seq->sequence) > 0)
503 g_assert (seq->queue->head);
504 g_assert (seq->queue->head->data == begin_iter);
505 g_assert (seq->queue->tail);
506 g_assert (seq->queue->tail->data == penultimate_iter);
513 g_assert (seq->queue->head == NULL);
514 g_assert (seq->queue->tail == NULL);
522 g_assert (g_queue_get_length (seq->queue) == g_sequence_get_length (seq->sequence));
526 int pos = get_random_position (seq);
527 GSequenceIter *iter = g_sequence_get_iter_at_pos (seq->sequence, pos);
528 GList *link = g_queue_peek_nth_link (seq->queue, pos);
529 check_integrity (seq);
530 if (pos >= g_sequence_get_length (seq->sequence) || pos < 0)
532 g_assert (iter == g_sequence_get_end_iter (seq->sequence));
547 GSequenceIter *iter = g_sequence_append (seq->sequence, new_item (seq));
548 g_queue_push_tail (seq->queue, iter);
556 GSequenceIter *iter = g_sequence_prepend (seq->sequence, new_item (seq));
557 g_queue_push_head (seq->queue, iter);
566 GSequenceIter *iter = get_random_iter (seq, &link);
568 check_integrity (seq);
570 new_iter = g_sequence_insert_before (iter, new_item (seq));
572 queue_insert_before (seq, link, new_iter);
595 get_item (iter1)->seq = seq2;
601 check_integrity (seq);
603 iter1 = get_random_iter (seq, NULL);
625 get_item (iter1)->seq = seq2;
626 get_item (iter2)->seq = seq1;
637 dump_info (seq);
639 g_sequence_sort (seq->sequence, compare_items, NULL);
640 g_queue_sort (seq->queue, compare_iters, NULL);
642 check_sorted (seq);
647 g_sequence_insert_sorted (seq->sequence, new_item(seq), compare_items, NULL);
649 g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL);
652 check_sorted (seq);
654 dump_info (seq);
660 dump_info (seq);
662 g_sequence_sort (seq->sequence, compare_items, NULL);
663 g_queue_sort (seq->queue, compare_iters, NULL);
665 check_sorted (seq);
671 iter = g_sequence_insert_sorted_iter (seq->sequence,
672 new_item (seq),
674 seq->sequence);
676 g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL);
679 check_sorted (seq);
681 dump_info (seq);
688 g_sequence_sort (seq->sequence, compare_items, NULL);
689 g_queue_sort (seq->queue, compare_iters, NULL);
691 check_sorted (seq);
696 GSequenceIter *iter = get_random_iter (seq, &link);
700 g_sequence_set (iter, new_item (seq));
703 g_queue_delete_link (seq->queue, link);
704 g_queue_insert_sorted (seq
707 check_sorted (seq);
715 g_sequence_sort (seq->sequence, compare_items, NULL);
716 g_queue_sort (seq->queue, compare_iters, NULL);
718 check_sorted (seq);
723 GSequenceIter *iter = get_random_iter (seq, &link);
727 g_sequence_set (iter, new_item (seq));
729 (GSequenceIterCompareFunc)compare_iters, seq->sequence);
731 g_queue_delete_link (seq->queue, link);
732 g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL);
735 check_sorted (seq);
746 GSequenceIter *iter = get_random_iter (seq, &link);
751 g_queue_delete_link (seq->queue, link);
762 get_random_range (seq, &begin_iter, &end_iter, &begin_link, &end_link);
771 g_queue_delete_link (seq->queue, list);
828 g_assert (item->seq == src);
832 item->seq = dst;
844 g_sequence_sort (seq->sequence, compare_items, NULL);
845 g_queue_sort (seq->queue, compare_iters, NULL);
847 check_sorted (seq);
849 item = new_item (seq);
850 search_iter = g_sequence_search (seq->sequence, item, compare_items, NULL);
852 insert_iter = g_sequence_insert_sorted (seq->sequence, item, compare_items, NULL);
856 g_queue_insert_sorted (seq->queue, insert_iter, compare_iters, NULL);
865 g_sequence_sort (seq->sequence, compare_items, NULL);
866 g_queue_sort (seq->queue, compare_iters, NULL);
868 check_sorted (seq);
870 item = new_item (seq);
871 search_iter = g_sequence_search_iter (seq->sequence,
873 (GSequenceIterCompareFunc)compare_iters, seq->sequence);
875 insert_iter = g_sequence_insert_sorted (seq->sequence, item, compare_items, NULL);
879 g_queue_insert_sorted (seq->queue, insert_iter, compare_iters, NULL);
890 iter = get_random_iter (seq, &link);
897 check_integrity (seq);
900 item = new_item (seq);
906 g_sequence_set (iter, new_item (seq));
908 check_integrity (seq);
910 g_sequence_set (iter, new_item (seq));
920 iter = g_sequence_get_iter_at_pos (seq->sequence, 0);
924 check_integrity (seq);
926 if (g_sequence_get_length (seq->sequence) > 0)
928 g_assert (!g_sequence_iter_is_begin (g_sequence_get_end_iter (seq->sequence)));
932 g_assert (g_sequence_iter_is_begin (g_sequence_get_end_iter (seq->sequence)));
935 g_assert (g_sequence_iter_is_begin (g_sequence_get_begin_iter (seq->sequence)));
941 int len = g_sequence_get_length (seq->sequence);
943 iter = g_sequence_get_iter_at_pos (seq->sequence, len);
949 g_assert (!g_sequence_iter_is_end (g_sequence_get_begin_iter (seq->sequence)));
953 g_assert (g_sequence_iter_is_end (g_sequence_get_begin_iter (seq->sequence)));
956 g_assert (g_sequence_iter_is_end (g_sequence_get_end_iter (seq->sequence)));
963 iter1 = g_sequence_append (seq->sequence, new_item (seq));
964 iter2 = g_sequence_append (seq->sequence, new_item (seq));
965 iter3 = g_sequence_append (seq->sequence, new_item (seq));
967 end = g_sequence_get_end_iter (seq->sequence);
974 g_queue_push_tail (seq->queue, iter1);
975 g_queue_push_tail (seq->queue, iter2);
976 g_queue_push_tail (seq->queue, iter3);
983 iter1 = g_sequence_prepend (seq->sequence, new_item (seq));
984 iter2 = g_sequence_prepend (seq->sequence, new_item (seq));
985 iter3 = g_sequence_prepend (seq->sequence, new_item (seq));
987 begin = g_sequence_get_begin_iter (seq->sequence);
995 g_queue_push_head (seq->queue, iter1);
996 g_queue_push_head (seq->queue, iter2);
997 g_queue_push_head (seq->queue, iter3);
1003 GSequenceIter *iter = get_random_iter (seq, &link);
1006 queue_link_index (seq, link));
1011 int len = g_sequence_get_length (seq->sequence);
1015 iter = get_random_iter (seq, NULL);
1021 iter = get_random_iter (seq, NULL);
1034 GSequenceIter *iter = get_random_iter (seq, NULL);
1036 g_assert (g_sequence_iter_get_sequence (iter) == seq->sequence);
1044 GSequenceIter *iter1 = get_random_iter (seq, &link1);
1045 GSequenceIter *iter2 = get_random_iter (seq, &link2);
1048 int pos1 = queue_link_index (seq, link1);
1049 int pos2 = queue_link_index (seq, link2);
1067 GSequenceIter *iter1 = get_random_iter (seq, NULL);
1068 GSequenceIter *iter2 = get_random_iter (seq, NULL);
1100 check_integrity (seq);
1169 GSequence *seq = g_sequence_new (NULL);
1170 GSequenceIter *iter = g_sequence_get_begin_iter (seq);
1211 GSequence *seq = g_sequence_new (NULL);
1216 g_sequence_insert_sorted (seq, GINT_TO_POINTER (g_random_int()),
1219 g_sequence_insert_sorted_iter (seq, GINT_TO_POINTER (g_random_int()),
1223 g_sequence_check (seq);
1225 g_sequence_free (seq);
1233 GSequence *seq = g_sequence_new (NULL);
1242 iters[i] = g_sequence_append (seq, GINT_TO_POINTER (3000));
1243 g_sequence_check (seq);
1244 g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
1248 iter = g_sequence_get_begin_iter (seq);
1249 g_assert (g_sequence_iter_get_sequence (iter) == seq);
1250 g_sequence_check (seq);
1253 g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
1257 g_sequence_check (seq);
1260 g_sequence_sort (seq, compare, NULL);
1263 iter = g_sequence_get_begin_iter (seq);
1266 g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
1270 g_sequence_check (seq);
1277 g_sequence_check (seq);
1278 g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
1279 g_assert (g_sequence_get_end_iter (seq) != iters[i]);
1284 iter = g_sequence_get_begin_iter (seq);
1290 g_sequence_check (seq);