summaryrefslogtreecommitdiff
path: root/test/source/test/memcnt.i
blob: 2e333f00eb5b01d4b197e1bae49f7bdaf6bf4e3e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdbool.h>

static zap_bool memcntfn(void const * const _ptr) {
	unsigned int const * ptr = _ptr;
	if (*ptr & 0x1u) {
		return zap_false;
	}
	return zap_true;
}

static bool zaptest_test_memcnt(void) {
	unsigned int arr[] = {
		0x0u,
		0x1u,
		0x2u,
		0x3u,
		0x4u,
		0x5u,
		0x6u,
		0x7u,
	};
	zap_sz num = zap_memcnt(arr,sizeof (arr[0x0u]),sizeof (arr) / sizeof (arr[0x0u]),memcntfn);
	zaptest_chk(num,0x4u,zap_sz,"%zX");
	arr[0x0u] = 0x1u;
	num = zap_memcnt(arr,sizeof (arr[0x0u]),sizeof (arr) / sizeof (arr[0x0u]),memcntfn);
	zaptest_chk(num,0x3u,zap_sz,"%zX");
	return false;
}