@@ -119,12 +119,12 @@ static void SHAcopy(SHAobject *src, SHAobject *dest)
119119
120120/* Various logical functions */
121121#define ROR64 (x , y ) \
122- ( ((((x) & Py_ULL(0xFFFFFFFFFFFFFFFF) )>>((unsigned long long)(y) & 63)) | \
123- ((x)<<((unsigned long long)(64-((y) & 63))))) & Py_ULL(0xFFFFFFFFFFFFFFFF) )
122+ ( ((((x) & 0xFFFFFFFFFFFFFFFFULL )>>((unsigned long long)(y) & 63)) | \
123+ ((x)<<((unsigned long long)(64-((y) & 63))))) & 0xFFFFFFFFFFFFFFFFULL )
124124#define Ch (x ,y ,z ) (z ^ (x & (y ^ z)))
125125#define Maj (x ,y ,z ) (((x | y) & z) | (x & y))
126126#define S (x , n ) ROR64((x),(n))
127- #define R (x , n ) (((x) & Py_ULL(0xFFFFFFFFFFFFFFFF) ) >> ((unsigned long long)n))
127+ #define R (x , n ) (((x) & 0xFFFFFFFFFFFFFFFFULL ) >> ((unsigned long long)n))
128128#define Sigma0 (x ) (S(x, 28) ^ S(x, 34) ^ S(x, 39))
129129#define Sigma1 (x ) (S(x, 14) ^ S(x, 18) ^ S(x, 41))
130130#define Gamma0 (x ) (S(x, 1) ^ S(x, 8) ^ R(x, 7))
@@ -156,86 +156,86 @@ sha512_transform(SHAobject *sha_info)
156156 d += t0; \
157157 h = t0 + t1;
158158
159- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],0 ,Py_ULL ( 0x428a2f98d728ae22 ) );
160- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],1 ,Py_ULL ( 0x7137449123ef65cd ) );
161- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],2 ,Py_ULL ( 0xb5c0fbcfec4d3b2f ) );
162- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],3 ,Py_ULL ( 0xe9b5dba58189dbbc ) );
163- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],4 ,Py_ULL ( 0x3956c25bf348b538 ) );
164- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],5 ,Py_ULL ( 0x59f111f1b605d019 ) );
165- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],6 ,Py_ULL ( 0x923f82a4af194f9b ) );
166- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],7 ,Py_ULL ( 0xab1c5ed5da6d8118 ) );
167- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],8 ,Py_ULL ( 0xd807aa98a3030242 ) );
168- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],9 ,Py_ULL ( 0x12835b0145706fbe ) );
169- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],10 ,Py_ULL ( 0x243185be4ee4b28c ) );
170- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],11 ,Py_ULL ( 0x550c7dc3d5ffb4e2 ) );
171- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],12 ,Py_ULL ( 0x72be5d74f27b896f ) );
172- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],13 ,Py_ULL ( 0x80deb1fe3b1696b1 ) );
173- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],14 ,Py_ULL ( 0x9bdc06a725c71235 ) );
174- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],15 ,Py_ULL ( 0xc19bf174cf692694 ) );
175- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],16 ,Py_ULL ( 0xe49b69c19ef14ad2 ) );
176- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],17 ,Py_ULL ( 0xefbe4786384f25e3 ) );
177- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],18 ,Py_ULL ( 0x0fc19dc68b8cd5b5 ) );
178- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],19 ,Py_ULL ( 0x240ca1cc77ac9c65 ) );
179- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],20 ,Py_ULL ( 0x2de92c6f592b0275 ) );
180- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],21 ,Py_ULL ( 0x4a7484aa6ea6e483 ) );
181- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],22 ,Py_ULL ( 0x5cb0a9dcbd41fbd4 ) );
182- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],23 ,Py_ULL ( 0x76f988da831153b5 ) );
183- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],24 ,Py_ULL ( 0x983e5152ee66dfab ) );
184- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],25 ,Py_ULL ( 0xa831c66d2db43210 ) );
185- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],26 ,Py_ULL ( 0xb00327c898fb213f ) );
186- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],27 ,Py_ULL ( 0xbf597fc7beef0ee4 ) );
187- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],28 ,Py_ULL ( 0xc6e00bf33da88fc2 ) );
188- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],29 ,Py_ULL ( 0xd5a79147930aa725 ) );
189- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],30 ,Py_ULL ( 0x06ca6351e003826f ) );
190- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],31 ,Py_ULL ( 0x142929670a0e6e70 ) );
191- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],32 ,Py_ULL ( 0x27b70a8546d22ffc ) );
192- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],33 ,Py_ULL ( 0x2e1b21385c26c926 ) );
193- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],34 ,Py_ULL ( 0x4d2c6dfc5ac42aed ) );
194- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],35 ,Py_ULL ( 0x53380d139d95b3df ) );
195- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],36 ,Py_ULL ( 0x650a73548baf63de ) );
196- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],37 ,Py_ULL ( 0x766a0abb3c77b2a8 ) );
197- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],38 ,Py_ULL ( 0x81c2c92e47edaee6 ) );
198- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],39 ,Py_ULL ( 0x92722c851482353b ) );
199- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],40 ,Py_ULL ( 0xa2bfe8a14cf10364 ) );
200- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],41 ,Py_ULL ( 0xa81a664bbc423001 ) );
201- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],42 ,Py_ULL ( 0xc24b8b70d0f89791 ) );
202- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],43 ,Py_ULL ( 0xc76c51a30654be30 ) );
203- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],44 ,Py_ULL ( 0xd192e819d6ef5218 ) );
204- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],45 ,Py_ULL ( 0xd69906245565a910 ) );
205- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],46 ,Py_ULL ( 0xf40e35855771202a ) );
206- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],47 ,Py_ULL ( 0x106aa07032bbd1b8 ) );
207- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],48 ,Py_ULL ( 0x19a4c116b8d2d0c8 ) );
208- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],49 ,Py_ULL ( 0x1e376c085141ab53 ) );
209- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],50 ,Py_ULL ( 0x2748774cdf8eeb99 ) );
210- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],51 ,Py_ULL ( 0x34b0bcb5e19b48a8 ) );
211- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],52 ,Py_ULL ( 0x391c0cb3c5c95a63 ) );
212- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],53 ,Py_ULL ( 0x4ed8aa4ae3418acb ) );
213- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],54 ,Py_ULL ( 0x5b9cca4f7763e373 ) );
214- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],55 ,Py_ULL ( 0x682e6ff3d6b2b8a3 ) );
215- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],56 ,Py_ULL ( 0x748f82ee5defb2fc ) );
216- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],57 ,Py_ULL ( 0x78a5636f43172f60 ) );
217- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],58 ,Py_ULL ( 0x84c87814a1f0ab72 ) );
218- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],59 ,Py_ULL ( 0x8cc702081a6439ec ) );
219- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],60 ,Py_ULL ( 0x90befffa23631e28 ) );
220- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],61 ,Py_ULL ( 0xa4506cebde82bde9 ) );
221- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],62 ,Py_ULL ( 0xbef9a3f7b2c67915 ) );
222- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],63 ,Py_ULL ( 0xc67178f2e372532b ) );
223- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],64 ,Py_ULL ( 0xca273eceea26619c ) );
224- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],65 ,Py_ULL ( 0xd186b8c721c0c207 ) );
225- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],66 ,Py_ULL ( 0xeada7dd6cde0eb1e ) );
226- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],67 ,Py_ULL ( 0xf57d4f7fee6ed178 ) );
227- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],68 ,Py_ULL ( 0x06f067aa72176fba ) );
228- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],69 ,Py_ULL ( 0x0a637dc5a2c898a6 ) );
229- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],70 ,Py_ULL ( 0x113f9804bef90dae ) );
230- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],71 ,Py_ULL ( 0x1b710b35131c471b ) );
231- RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],72 ,Py_ULL ( 0x28db77f523047d84 ) );
232- RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],73 ,Py_ULL ( 0x32caab7b40c72493 ) );
233- RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],74 ,Py_ULL ( 0x3c9ebe0a15c9bebc ) );
234- RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],75 ,Py_ULL ( 0x431d67c49c100d4c ) );
235- RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],76 ,Py_ULL ( 0x4cc5d4becb3e42b6 ) );
236- RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],77 ,Py_ULL ( 0x597f299cfc657e2a ) );
237- RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],78 ,Py_ULL ( 0x5fcb6fab3ad6faec ) );
238- RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],79 ,Py_ULL ( 0x6c44198c4a475817 ) );
159+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],0 ,0x428a2f98d728ae22ULL );
160+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],1 ,0x7137449123ef65cdULL );
161+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],2 ,0xb5c0fbcfec4d3b2fULL );
162+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],3 ,0xe9b5dba58189dbbcULL );
163+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],4 ,0x3956c25bf348b538ULL );
164+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],5 ,0x59f111f1b605d019ULL );
165+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],6 ,0x923f82a4af194f9bULL );
166+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],7 ,0xab1c5ed5da6d8118ULL );
167+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],8 ,0xd807aa98a3030242ULL );
168+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],9 ,0x12835b0145706fbeULL );
169+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],10 ,0x243185be4ee4b28cULL );
170+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],11 ,0x550c7dc3d5ffb4e2ULL );
171+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],12 ,0x72be5d74f27b896fULL );
172+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],13 ,0x80deb1fe3b1696b1ULL );
173+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],14 ,0x9bdc06a725c71235ULL );
174+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],15 ,0xc19bf174cf692694ULL );
175+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],16 ,0xe49b69c19ef14ad2ULL );
176+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],17 ,0xefbe4786384f25e3ULL );
177+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],18 ,0x0fc19dc68b8cd5b5ULL );
178+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],19 ,0x240ca1cc77ac9c65ULL );
179+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],20 ,0x2de92c6f592b0275ULL );
180+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],21 ,0x4a7484aa6ea6e483ULL );
181+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],22 ,0x5cb0a9dcbd41fbd4ULL );
182+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],23 ,0x76f988da831153b5ULL );
183+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],24 ,0x983e5152ee66dfabULL );
184+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],25 ,0xa831c66d2db43210ULL );
185+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],26 ,0xb00327c898fb213fULL );
186+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],27 ,0xbf597fc7beef0ee4ULL );
187+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],28 ,0xc6e00bf33da88fc2ULL );
188+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],29 ,0xd5a79147930aa725ULL );
189+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],30 ,0x06ca6351e003826fULL );
190+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],31 ,0x142929670a0e6e70ULL );
191+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],32 ,0x27b70a8546d22ffcULL );
192+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],33 ,0x2e1b21385c26c926ULL );
193+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],34 ,0x4d2c6dfc5ac42aedULL );
194+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],35 ,0x53380d139d95b3dfULL );
195+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],36 ,0x650a73548baf63deULL );
196+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],37 ,0x766a0abb3c77b2a8ULL );
197+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],38 ,0x81c2c92e47edaee6ULL );
198+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],39 ,0x92722c851482353bULL );
199+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],40 ,0xa2bfe8a14cf10364ULL );
200+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],41 ,0xa81a664bbc423001ULL );
201+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],42 ,0xc24b8b70d0f89791ULL );
202+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],43 ,0xc76c51a30654be30ULL );
203+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],44 ,0xd192e819d6ef5218ULL );
204+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],45 ,0xd69906245565a910ULL );
205+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],46 ,0xf40e35855771202aULL );
206+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],47 ,0x106aa07032bbd1b8ULL );
207+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],48 ,0x19a4c116b8d2d0c8ULL );
208+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],49 ,0x1e376c085141ab53ULL );
209+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],50 ,0x2748774cdf8eeb99ULL );
210+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],51 ,0x34b0bcb5e19b48a8ULL );
211+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],52 ,0x391c0cb3c5c95a63ULL );
212+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],53 ,0x4ed8aa4ae3418acbULL );
213+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],54 ,0x5b9cca4f7763e373ULL );
214+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],55 ,0x682e6ff3d6b2b8a3ULL );
215+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],56 ,0x748f82ee5defb2fcULL );
216+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],57 ,0x78a5636f43172f60ULL );
217+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],58 ,0x84c87814a1f0ab72ULL );
218+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],59 ,0x8cc702081a6439ecULL );
219+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],60 ,0x90befffa23631e28ULL );
220+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],61 ,0xa4506cebde82bde9ULL );
221+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],62 ,0xbef9a3f7b2c67915ULL );
222+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],63 ,0xc67178f2e372532bULL );
223+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],64 ,0xca273eceea26619cULL );
224+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],65 ,0xd186b8c721c0c207ULL );
225+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],66 ,0xeada7dd6cde0eb1eULL );
226+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],67 ,0xf57d4f7fee6ed178ULL );
227+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],68 ,0x06f067aa72176fbaULL );
228+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],69 ,0x0a637dc5a2c898a6ULL );
229+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],70 ,0x113f9804bef90daeULL );
230+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],71 ,0x1b710b35131c471bULL );
231+ RND (S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],72 ,0x28db77f523047d84ULL );
232+ RND (S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],73 ,0x32caab7b40c72493ULL );
233+ RND (S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],74 ,0x3c9ebe0a15c9bebcULL );
234+ RND (S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],S [4 ],75 ,0x431d67c49c100d4cULL );
235+ RND (S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],S [3 ],76 ,0x4cc5d4becb3e42b6ULL );
236+ RND (S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],S [2 ],77 ,0x597f299cfc657e2aULL );
237+ RND (S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],S [1 ],78 ,0x5fcb6fab3ad6faecULL );
238+ RND (S [1 ],S [2 ],S [3 ],S [4 ],S [5 ],S [6 ],S [7 ],S [0 ],79 ,0x6c44198c4a475817ULL );
239239
240240#undef RND
241241
0 commit comments