Guest User

Untitled

a guest
Jun 25th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. char byte_array[10];
  2.  
  3. char byte_mask[10];
  4.  
  5. for ( i = 10 ; i-- > 0 ; )
  6. result_array[i] = byte_array[i] & byte_mask[i];
  7.  
  8. uint32_t* input32 = (uint32_t*)byte_array;
  9. uint32_t* mask32 = (uint32_t*)byte_mask;
  10. uint32_t* result32 = (uint32_t*)result_array;
  11. for ( i = 4 ; i-- > 0 ; )
  12. result32[i] = input32[i] & mask32[i];
  13.  
  14. char byte_array[12];
  15. char byte_mask[12];
  16. /* Checks for proper alignment */
  17. assert(((unsigned int)(void *)byte_array) & 3 == 0);
  18. assert(((unsigned int)(void *)byte_mask) & 3 == 0);
  19. for (i = 0; i < (10+3)/4; i++) {
  20. ((unsigned int *)(byte_array))[i] &= ((unsigned int *)(byte_mask))[i];
  21. }
  22.  
  23. char byte_array [CHAR_ARRAY_SIZE];
  24. unsigned int int_array [INT_ARRAY_SIZE];
  25.  
  26. arr_result.int_array [i] = arr_src.int_array[i] & arr_mask.int_array [i];
Add Comment
Please, Sign In to add comment