@@ -101,14 +101,12 @@ extern "C" int scanhash_jackpot(int thr_id, uint32_t *pdata,
101101{
102102 const uint32_t first_nonce = pdata[19 ];
103103
104- // TODO: entfernen für eine Release! Ist nur zum Testen!
105104 if (opt_benchmark)
106105 ((uint32_t *)ptarget)[7 ] = 0x0000ff ;
107106
108107 const uint32_t Htarg = ptarget[7 ];
109108
110109 const int throughput = 256 *4096 *4 ; // 100;
111- // const int throughput = 256*256*2+100; // 100;
112110
113111 static bool init[8 ] = {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 };
114112 if (!init[thr_id])
@@ -167,16 +165,18 @@ extern "C" int scanhash_jackpot(int thr_id, uint32_t *pdata,
167165 quark_jh512_cpu_hash_64 (thr_id, nrm2, pdata[19 ], d_branch2Nonces[thr_id], d_hash[thr_id], order++);
168166 }
169167
170- // Runde 2 (ohne Gröstl )
168+ // Runde 3 (komplett )
171169
172170 // jackpotNonces in branch1/2 aufsplitten gemäss if (hash[0] & 0x01)
173171 jackpot_compactTest_cpu_hash_64 (thr_id, nrm3, pdata[19 ], d_hash[thr_id], d_branch3Nonces[thr_id],
174172 d_branch1Nonces[thr_id], &nrm1,
175- d_branch3Nonces [thr_id], &nrm3 ,
173+ d_branch2Nonces [thr_id], &nrm2 ,
176174 order++);
177175
178- // verfolge den skein-pfad weiter
179- quark_skein512_cpu_hash_64 (thr_id, nrm3, pdata[19 ], d_branch3Nonces[thr_id], d_hash[thr_id], order++);
176+ if (nrm1+nrm2 == nrm3) {
177+ quark_groestl512_cpu_hash_64 (thr_id, nrm1, pdata[19 ], d_branch1Nonces[thr_id], d_hash[thr_id], order++);
178+ quark_skein512_cpu_hash_64 (thr_id, nrm2, pdata[19 ], d_branch2Nonces[thr_id], d_hash[thr_id], order++);
179+ }
180180
181181 // jackpotNonces in branch1/2 aufsplitten gemäss if (hash[0] & 0x01)
182182 jackpot_compactTest_cpu_hash_64 (thr_id, nrm3, pdata[19 ], d_hash[thr_id], d_branch3Nonces[thr_id],
@@ -226,7 +226,7 @@ extern "C" int scanhash_jackpot(int thr_id, uint32_t *pdata,
226226 if ((vhash64[7 ]<=Htarg) && fulltest (vhash64, ptarget)) {
227227
228228 pdata[19 ] = foundNonce;
229- *hashes_done = (foundNonce - first_nonce + 1 )/4 ;
229+ *hashes_done = (foundNonce - first_nonce + 1 )/2 ;
230230 // applog(LOG_INFO, "GPU #%d: result for nonce $%08X does validate on CPU (%d rounds)!", thr_id, foundNonce, rounds);
231231 return 1 ;
232232 } else {
@@ -238,6 +238,6 @@ extern "C" int scanhash_jackpot(int thr_id, uint32_t *pdata,
238238
239239 } while (pdata[19 ] < max_nonce && !work_restart[thr_id].restart );
240240
241- *hashes_done = (pdata[19 ] - first_nonce + 1 )/4 ;
241+ *hashes_done = (pdata[19 ] - first_nonce + 1 )/2 ;
242242 return 0 ;
243243}
0 commit comments