|
Packit Service |
20376f |
#include "clar_libgit2.h"
|
|
Packit Service |
20376f |
#include "bitvec.h"
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
#if 0
|
|
Packit Service |
20376f |
static void print_bitvec(git_bitvec *bv)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
int b;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
if (!bv->length) {
|
|
Packit Service |
20376f |
for (b = 63; b >= 0; --b)
|
|
Packit Service |
20376f |
fprintf(stderr, "%d", (bv->u.bits & (1ul << b)) ? 1 : 0);
|
|
Packit Service |
20376f |
} else {
|
|
Packit Service |
20376f |
for (b = bv->length * 8; b >= 0; --b)
|
|
Packit Service |
20376f |
fprintf(stderr, "%d", (bv->u.ptr[b >> 3] & (b & 0x0ff)) ? 1 : 0);
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
fprintf(stderr, "\n");
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
#endif
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
static void set_some_bits(git_bitvec *bv, size_t length)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
size_t i;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
for (i = 0; i < length; ++i) {
|
|
Packit Service |
20376f |
if (i % 3 == 0 || i % 7 == 0)
|
|
Packit Service |
20376f |
git_bitvec_set(bv, i, true);
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
static void check_some_bits(git_bitvec *bv, size_t length)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
size_t i;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
for (i = 0; i < length; ++i)
|
|
Packit Service |
20376f |
cl_assert_equal_b(i % 3 == 0 || i % 7 == 0, git_bitvec_get(bv, i));
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
void test_core_bitvec__0(void)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
git_bitvec bv;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
cl_git_pass(git_bitvec_init(&bv, 32));
|
|
Packit Service |
20376f |
set_some_bits(&bv, 16);
|
|
Packit Service |
20376f |
check_some_bits(&bv, 16);
|
|
Packit Service |
20376f |
git_bitvec_clear(&bv;;
|
|
Packit Service |
20376f |
set_some_bits(&bv, 32);
|
|
Packit Service |
20376f |
check_some_bits(&bv, 32);
|
|
Packit Service |
20376f |
git_bitvec_clear(&bv;;
|
|
Packit Service |
20376f |
set_some_bits(&bv, 64);
|
|
Packit Service |
20376f |
check_some_bits(&bv, 64);
|
|
Packit Service |
20376f |
git_bitvec_free(&bv;;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
cl_git_pass(git_bitvec_init(&bv, 128));
|
|
Packit Service |
20376f |
set_some_bits(&bv, 32);
|
|
Packit Service |
20376f |
check_some_bits(&bv, 32);
|
|
Packit Service |
20376f |
set_some_bits(&bv, 128);
|
|
Packit Service |
20376f |
check_some_bits(&bv, 128);
|
|
Packit Service |
20376f |
git_bitvec_free(&bv;;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
cl_git_pass(git_bitvec_init(&bv, 4000));
|
|
Packit Service |
20376f |
set_some_bits(&bv, 4000);
|
|
Packit Service |
20376f |
check_some_bits(&bv, 4000);
|
|
Packit Service |
20376f |
git_bitvec_free(&bv;;
|
|
Packit Service |
20376f |
}
|