Пример #1
0
/** randomly shuffle an array
 * for correctness, see Donald E. Knuth, The Art of Computer Programming
 */
static void scramble_fighters(quicklist * ql)
{
    int qi, qlen = ql_length(ql);

    for (qi = 0; qi != qlen; ++qi) {
        int qj = qi + (rng_int() % (qlen - qi));
        void *a = ql_get(ql, qi);
        void *b = ql_replace(ql, qj, a);
        ql_replace(ql, qi, b);
    }
}
Пример #2
0
static void test_replace(CuTest * tc)
{
    struct quicklist *ql = NULL;
    void * a;
    ql_push(&ql, (void *)data);
    a = ql_replace(ql, 0, (void *)(data + 1));
    CuAssertPtrEquals(tc, (void *)data, a);
    CuAssertPtrEquals(tc, (void *)(data + 1), ql_get(ql, 0));
    ql_free(ql);
}