Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char byte_array[10];
- char byte_mask[10];
- for ( i = 10 ; i-- > 0 ; )
- result_array[i] = byte_array[i] & byte_mask[i];
- uint32_t* input32 = (uint32_t*)byte_array;
- uint32_t* mask32 = (uint32_t*)byte_mask;
- uint32_t* result32 = (uint32_t*)result_array;
- for ( i = 4 ; i-- > 0 ; )
- result32[i] = input32[i] & mask32[i];
- char byte_array[12];
- char byte_mask[12];
- /* Checks for proper alignment */
- assert(((unsigned int)(void *)byte_array) & 3 == 0);
- assert(((unsigned int)(void *)byte_mask) & 3 == 0);
- for (i = 0; i < (10+3)/4; i++) {
- ((unsigned int *)(byte_array))[i] &= ((unsigned int *)(byte_mask))[i];
- }
- char byte_array [CHAR_ARRAY_SIZE];
- unsigned int int_array [INT_ARRAY_SIZE];
- arr_result.int_array [i] = arr_src.int_array[i] & arr_mask.int_array [i];
Add Comment
Please, Sign In to add comment