@@ -10,7 +10,7 @@ int store_test(void)
1010 ulong32 L , L1 ;
1111 ulong64 LL , LL1 ;
1212#ifdef LTC_FAST
13- unsigned long x , z ;
13+ unsigned long x , z , zz ;
1414#endif
1515
1616 for (y = 0 ; y < 4 ; y ++ ) {
@@ -51,22 +51,22 @@ int store_test(void)
5151#ifdef LTC_FAST
5252 y = 16 ;
5353
54- for (z = 0 ; z < y ; z ++ ) {
54+ for (z = 0 , zz = 2 * y - 1 ; z < y ; z ++ , zz -= 2 ) {
5555 /* fill y bytes with random */
5656 ENSURE (yarrow_read (buf + z , y , & yarrow_prng ) == y );
57- ENSURE (yarrow_read (buf + z + y , y , & yarrow_prng ) == y );
57+ ENSURE (yarrow_read (buf + z + y + zz , y , & yarrow_prng ) == y );
5858
5959 /* now XOR it byte for byte */
6060 for (x = 0 ; x < y ; x ++ ) {
61- buf [2 * y + z + x ] = buf [z + x ] ^ buf [z + y + x ];
61+ buf [4 * y + z + x ] = buf [z + x ] ^ buf [z + y + x + zz ];
6262 }
6363
6464 /* now XOR it word for word */
6565 for (x = 0 ; x < y ; x += sizeof (LTC_FAST_TYPE )) {
66- * (LTC_FAST_TYPE_PTR_CAST (& buf [3 * y + z + x ])) = * (LTC_FAST_TYPE_PTR_CAST (& buf [z + x ])) ^ * (LTC_FAST_TYPE_PTR_CAST (& buf [z + y + x ]));
66+ * (LTC_FAST_TYPE_PTR_CAST (& buf [5 * y + z + x ])) = * (LTC_FAST_TYPE_PTR_CAST (& buf [z + x ])) ^ * (LTC_FAST_TYPE_PTR_CAST (& buf [z + y + x + zz ]));
6767 }
6868
69- if (memcmp (& buf [2 * y + z ], & buf [3 * y + z ], y )) {
69+ if (memcmp (& buf [4 * y + z ], & buf [5 * y + z ], y )) {
7070 fprintf (stderr , "\nLTC_FAST failed at offset %lu\n" , z );
7171 return 1 ;
7272 }
0 commit comments