Advertisement
Guest User

Untitled

a guest
Jun 11th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1.   template <std::size_t N>
  2.   std::uint64_t det_point_noise64(std::array<uint64_t, N> inputs, size_t c = 9)
  3.   {
  4.     std::uint64_t output = 0xFAFAFAFAFAFAFAFAull;
  5.     for (size_t k = 0; k < c; k++)
  6.     {
  7.       for (size_t i = 0; i < N; i++)
  8.       {
  9.         output = (output >> 17) | (output  << (64 - 17));
  10.         output += inputs[i];
  11.         output = (output >> ((k+inputs[i]) &0x0F)) | (output  << (64 - ((k+inputs[i]) &0x0F)));
  12.         output ^= 7;
  13.         output ^= ((output & (0xbeull << 31)) >> 21);
  14.         output += 1;
  15.        
  16.       }
  17.     }
  18.     output = (output >> 17) | (output  << (64 - 17));
  19.    
  20.     return output;
  21.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement