use named unions

This commit is contained in:
cathugger 2017-10-06 00:25:51 +00:00
parent 3ea7ec8a8c
commit c12df97b3b

24
main.c
View file

@ -223,13 +223,13 @@ static void printfilters()
#ifdef STATISTICS #ifdef STATISTICS
struct statstruct { struct statstruct {
union { union {
u32 numcalc; u32 v;
size_t align_numcalc; size_t align;
} ; } numcalc;
union { union {
u32 numsuccess; u32 v;
size_t align_numsuccess; size_t align;
} ; } numsuccess;
} ; } ;
VEC_STRUCT(statsvec,struct statstruct); VEC_STRUCT(statsvec,struct statstruct);
@ -355,13 +355,13 @@ again:
ed25519_pubkey(pk,sk); ed25519_pubkey(pk,sk);
#ifdef STATISTICS #ifdef STATISTICS
++st->numcalc; ++st->numcalc.v;
#endif #endif
FILTERFOR(i) { FILTERFOR(i) {
if (unlikely(MATCHFILTER(i,pk))) { if (unlikely(MATCHFILTER(i,pk))) {
#ifdef STATISTICS #ifdef STATISTICS
++st->numsuccess; ++st->numsuccess.v;
#endif #endif
// calc checksum // calc checksum
memcpy(&hashsrc[checksumstrlen],pk,PUBLIC_LEN); memcpy(&hashsrc[checksumstrlen],pk,PUBLIC_LEN);
@ -453,7 +453,7 @@ initseed:
} }
else goto initseed; else goto initseed;
#ifdef STATISTICS #ifdef STATISTICS
++st->numsuccess; ++st->numsuccess.v;
#endif #endif
// calc checksum // calc checksum
memcpy(&hashsrc[checksumstrlen],pk,PUBLIC_LEN); memcpy(&hashsrc[checksumstrlen],pk,PUBLIC_LEN);
@ -473,7 +473,7 @@ initseed:
ge_p1p1_to_p3(&ge_public,&sum); ge_p1p1_to_p3(&ge_public,&sum);
ge_p3_tobytes(pk,&ge_public); ge_p3_tobytes(pk,&ge_public);
#ifdef STATISTICS #ifdef STATISTICS
++st->numcalc; ++st->numcalc.v;
#endif #endif
} }
goto initseed; goto initseed;
@ -765,13 +765,13 @@ int main(int argc,char **argv)
for (size_t i = 0;i < numthreads;++i) { for (size_t i = 0;i < numthreads;++i) {
u32 newt,tdiff; u32 newt,tdiff;
// numcalc // numcalc
newt = VEC_BUF(stats,i).numcalc; newt = VEC_BUF(stats,i).numcalc.v;
tdiff = newt - VEC_BUF(tstats,i).oldnumcalc; tdiff = newt - VEC_BUF(tstats,i).oldnumcalc;
VEC_BUF(tstats,i).oldnumcalc = newt; VEC_BUF(tstats,i).oldnumcalc = newt;
VEC_BUF(tstats,i).numcalc += (u64)tdiff; VEC_BUF(tstats,i).numcalc += (u64)tdiff;
sumcalc += VEC_BUF(tstats,i).numcalc; sumcalc += VEC_BUF(tstats,i).numcalc;
// numsuccess // numsuccess
newt = VEC_BUF(stats,i).numsuccess; newt = VEC_BUF(stats,i).numsuccess.v;
tdiff = newt - VEC_BUF(tstats,i).oldnumsuccess; tdiff = newt - VEC_BUF(tstats,i).oldnumsuccess;
VEC_BUF(tstats,i).oldnumsuccess = newt; VEC_BUF(tstats,i).oldnumsuccess = newt;
VEC_BUF(tstats,i).numsuccess += (u64)tdiff; VEC_BUF(tstats,i).numsuccess += (u64)tdiff;