Advertisement
ATtiny13aPU

uhash4

Nov 18th, 2022 (edited)
1,983
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Godot GLSL 1.69 KB | Cryptocurrency | 0 0
  1. uint uhash4(uvec4 s) {
  2.     uvec4 s1, s2;
  3.  
  4.     s1 = (uvec4(s.zw >> 16u, s.zw & 0xFFFFu) * uvec4(0x71217B47u, 0x87E9615Fu, 0xBA96E469u, 0x9F7AFBB5u)) +
  5.     uvec4(0x41526BCDu, 0x8D1C8F5Du, 0x340B0C59u, 0x51AB5713u);
  6.  
  7.     s1 = (uvec4((s1.xz ^ s1.yw) >> 16u, (s1.xz ^ s1.yw) & 0xFFFFu) * uvec4(0xB7B5D5DBu, 0x35C75427u, 0x982CC8CFu, 0x51824591u)) +
  8.     uvec4(0x6B2FDB87u, 0x28232A37u, 0x1EC27BDFu, 0x8DC8079Fu) ^ (s);
  9.  
  10.     s1 = (uvec4((s1.xy ^ s1.zw) >> 16u, (s1.xy ^ s1.zw) & 0xFFFFu) * uvec4(0x3795BCB5u, 0xC2BFF81Bu, 0xA05194E9u, 0xAA48F4E5u)) +
  11.     uvec4(0x6084455Fu, 0xAFB852D5u, 0x84973225u, 0x4D17B761u);
  12.  
  13.     s1 = (uvec4((s1.xz ^ s1.yw) >> 16u, (s1.xz ^ s1.yw) & 0xFFFFu) * uvec4(0xD2D96441u, 0x3B76C561u, 0x5C597335u, 0xCC82F905u)) +
  14.     uvec4(0xAFF8F95Du, 0x05DDA739u, 0x8D2AF67Fu, 0xF6E649B3u);
  15.  
  16.  
  17.     s2 = (uvec4(s.xy >> 16u, s.xy & 0xFFFFu) * uvec4(0xD1358937u, 0x3FA29D3Du, 0xE668FCF9u, 0x9F9D257Fu)) +
  18.     uvec4(0xC2F41E4Du, 0x067B1B8Du, 0x2AB52157u, 0x78321A05u);
  19.  
  20.     s2 = (uvec4((s2.xz ^ s2.yw) >> 16u, (s2.xz ^ s2.yw) & 0xFFFFu) * uvec4(0x1760A9B1u, 0xD53DF509u, 0xC7DDC9D9u, 0xD08AF30Bu)) +
  21.     uvec4(0xC699F1A1u, 0x9C9885C7u, 0x2F71BC5Fu, 0x98B1D685u) ^ (s);
  22.  
  23.     s2 = (uvec4((s2.xy ^ s2.zw) >> 16u, (s2.xy ^ s2.zw) & 0xFFFFu) * uvec4(0x821DA417u, 0x15D81063u, 0x15FADA2Fu, 0xC0F5B591u)) +
  24.     uvec4(0x3F8FA15Fu, 0x0A2818FDu, 0x104EEA71u, 0x2F060EE1u);
  25.  
  26.     s2 = (uvec4((s2.xz ^ s2.yw) >> 16u, (s2.xz ^ s2.yw) & 0xFFFFu) * uvec4(0x51BFC0FBu, 0x369D933Fu, 0x0EFDF55Fu, 0xCD5BA4D1u)) +
  27.     uvec4(0x3C320C3Fu, 0xF4D45287u, 0x87F4294Du, 0x2738D7C9u);
  28.  
  29.     return ((((s1.x ^ s2.x) * 0xB462A63Du) ^ ((s1.y ^ s2.y) * 0xAA13ED13u) * 0x2F1FEEBBu) ^
  30.     (((s1.z ^ s2.z) * 0xE89238CBu) ^ ((s1.w ^ s2.w) * 0xA0E55C97u) * 0x143FB695u)) * 0xFB8EEDC7u;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement