|  | #include <sched.h> | 
|  | #include <stdio.h> | 
|  |  | 
|  | static int | 
|  | do_test (void) | 
|  | { | 
|  | int result = 0; | 
|  |  | 
|  | cpu_set_t s1; | 
|  | cpu_set_t s2; | 
|  | cpu_set_t s3; | 
|  |  | 
|  | CPU_ZERO (&s1); | 
|  | CPU_SET (0, &s1); | 
|  |  | 
|  | CPU_ZERO (&s2); | 
|  | CPU_SET (0, &s2); | 
|  | CPU_SET (1, &s2); | 
|  |  | 
|  | CPU_AND (&s3, &s1, &s2); | 
|  | if (! CPU_EQUAL (&s3, &s1)) | 
|  | { | 
|  | puts ("result of CPU_AND wrong"); | 
|  | result = 1; | 
|  | } | 
|  |  | 
|  | CPU_OR (&s3, &s1, &s2); | 
|  | if (! CPU_EQUAL (&s3, &s2)) | 
|  | { | 
|  | puts ("result of CPU_OR wrong"); | 
|  | result = 1; | 
|  | } | 
|  |  | 
|  | CPU_XOR (&s3, &s1, &s2); | 
|  | if (CPU_COUNT (&s3) != 1) | 
|  | { | 
|  | puts ("result of CPU_XOR wrong"); | 
|  | result = 1; | 
|  | } | 
|  |  | 
|  | cpu_set_t *vs1 = CPU_ALLOC (2048); | 
|  | cpu_set_t *vs2 = CPU_ALLOC (2048); | 
|  | cpu_set_t *vs3 = CPU_ALLOC (2048); | 
|  | size_t vssize = CPU_ALLOC_SIZE (2048); | 
|  |  | 
|  | CPU_ZERO_S (vssize, vs1); | 
|  | CPU_SET_S (0, vssize, vs1); | 
|  |  | 
|  | CPU_ZERO_S (vssize, vs2); | 
|  | CPU_SET_S (0, vssize, vs2); | 
|  | CPU_SET_S (2047, vssize, vs2); | 
|  |  | 
|  | CPU_AND_S (vssize, vs3, vs1, vs2); | 
|  | if (! CPU_EQUAL_S (vssize, vs3, vs1)) | 
|  | { | 
|  | puts ("result of CPU_AND_S wrong"); | 
|  | result = 1; | 
|  | } | 
|  |  | 
|  | CPU_OR_S (vssize, vs3, vs1, vs2); | 
|  | if (! CPU_EQUAL_S (vssize, vs3, vs2)) | 
|  | { | 
|  | puts ("result of CPU_OR_S wrong"); | 
|  | result = 1; | 
|  | } | 
|  |  | 
|  | CPU_XOR_S (vssize, vs3, vs1, vs2); | 
|  | if (CPU_COUNT_S (vssize, vs3) != 1) | 
|  | { | 
|  | puts ("result of CPU_XOR_S wrong"); | 
|  | result = 1; | 
|  | } | 
|  |  | 
|  | CPU_FREE (vs1); | 
|  | CPU_FREE (vs2); | 
|  | CPU_FREE (vs3); | 
|  |  | 
|  | return result; | 
|  | } | 
|  |  | 
|  | #define TEST_FUNCTION do_test () | 
|  | #include "../test-skeleton.c" |