Advertisement
Guest User

Untitled

a guest
May 12th, 2012
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.42 KB | None | 0 0
  1. private static unsafe void MaskArrayAsLongs(int mask, int[] ints)
  2. {
  3.     var longMask = ((long)mask << 32) + mask;
  4.  
  5.     fixed (int* pt = ints)
  6.     {
  7.         var end = (long*)pt + ints.Length / 2;
  8.  
  9.         if (ints.Length % 2 == 1)
  10.         {
  11.             ints[ints.Length - 1] ^= mask;
  12.         }
  13.  
  14.         for (var curr = (long*)pt; curr < end; curr++)
  15.         {
  16.             *curr ^= longMask;
  17.         }
  18.     }
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement