Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template <std::size_t N>
- std::uint64_t det_point_noise64(std::array<uint64_t, N> inputs, size_t c = 9)
- {
- std::uint64_t output = 0xFAFAFAFAFAFAFAFAull;
- for (size_t k = 0; k < c; k++)
- {
- for (size_t i = 0; i < N; i++)
- {
- output = (output >> 17) | (output << (64 - 17));
- output += inputs[i];
- output = (output >> ((k+inputs[i]) &0x0F)) | (output << (64 - ((k+inputs[i]) &0x0F)));
- output ^= 7;
- output ^= ((output & (0xbeull << 31)) >> 21);
- output += 1;
- }
- }
- output = (output >> 17) | (output << (64 - 17));
- return output;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement