Browse Source

Test

pull/4/head
jl777 7 years ago
parent
commit
201269b62d
  1. 25
      src/komodo_pax.h

25
src/komodo_pax.h

@ -342,7 +342,7 @@ void komodo_pvals(int32_t height,uint32_t *pvals,uint8_t numpvals)
}
}
uint64_t komodo_paxcorrelation(uint64_t *votes,int32_t numvotes,uint64_t seed)
uint64_t komodo_paxcorrelation(int32_t dispflag,uint64_t *votes,int32_t numvotes,uint64_t seed)
{
int32_t i,j,k,ind,zeroes,wt,nonz; int64_t delta; uint64_t lastprice,tolerance,den,densum,sum=0;
for (sum=i=zeroes=nonz=0; i<numvotes; i++)
@ -359,9 +359,16 @@ uint64_t komodo_paxcorrelation(uint64_t *votes,int32_t numvotes,uint64_t seed)
{
if ( votes[i] == 0 )
votes[i] = lastprice;
else lastprice = votes[i];
else
{
if ( dispflag != 0 )
printf("%.8f ",dstr(votes[i]));
lastprice = votes[i];
}
}
tolerance = sum / 50;
if ( dispflag != 0 )
printf("lastprice %.8f tolerance %.8f\n",dstr(lastprice),dstr(tolerance));
for (k=0; k<numvotes; k++)
{
ind = Peggy_inds[(k + seed) % numvotes];
@ -399,8 +406,11 @@ uint64_t komodo_paxcorrelation(uint64_t *votes,int32_t numvotes,uint64_t seed)
//sum = (sum * basevolume);
//printf("paxprice seed.%llx sum %.8f densum %.8f\n",(long long)seed,dstr(sum),dstr(densum));
break;
}
} else if ( dispflag != 0 )
printf("%d ",wt);
}
if ( dispflag != 0 && k == numvotes )
printf("not enough correlation\n");
return(sum);
}
@ -440,9 +450,6 @@ uint64_t komodo_paxcalc(int32_t height,uint32_t *pvals,int32_t baseid,int32_t re
if ( height >= 236000-10 )
{
usdkmd = ((uint64_t)kmdbtc * btcusd) / 1000000000;
//if ( height > 380000 && baseid == USD )
// price = usdkmd;
//else
price = ((uint64_t)10000000000 * MINDENOMS[USD] / MINDENOMS[baseid]) / komodo_paxvol(usdvol,usdkmd);
//fprintf(stderr,"ht.%d kmdbtc.%llu btcusd.%llu base -> USD %llu, usdkmd %llu usdvol %llu -> %llu\n",height,(long long)kmdbtc,(long long)btcusd,(long long)baseusd,(long long)usdkmd,(long long)usdvol,(long long)(MINDENOMS[USD] * komodo_paxvol(usdvol,usdkmd) / (MINDENOMS[baseid]/100)));
//fprintf(stderr,"usdkmd.%llu basevolume.%llu baseusd.%llu paxvol.%llu usdvol.%llu -> %llu %llu\n",(long long)usdkmd,(long long)basevolume,(long long)baseusd,(long long)komodo_paxvol(basevolume,baseusd),(long long)usdvol,(long long)(MINDENOMS[USD] * komodo_paxvol(usdvol,usdkmd) / (MINDENOMS[baseid]/100)),(long long)price);
@ -557,8 +564,8 @@ uint64_t _komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uin
_komodo_paxprice(&kmdbtcs[numvotes-1-i],&btcusds[numvotes-1-i],height-i,base,rel,100000,0,0);
//printf("(%llu %llu) ",(long long)kmdbtcs[numvotes-1-i],(long long)btcusds[numvotes-1-i]);
}
kmdbtc = komodo_paxcorrelation(kmdbtcs,numvotes,seed) * 539;
btcusd = komodo_paxcorrelation(btcusds,numvotes,seed) * 539;
kmdbtc = komodo_paxcorrelation(0,kmdbtcs,numvotes,seed) * 539;
btcusd = komodo_paxcorrelation(0,btcusds,numvotes,seed) * 539;
//komodo_kmdbtcusd(1,&kmdbtc,&btcusd,height);
}
for (i=nonz=0; i<numvotes; i++)
@ -582,7 +589,7 @@ uint64_t _komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uin
{
return(0);
}
return(komodo_paxcorrelation(votes,numvotes,seed) * basevolume / 100000);
return(komodo_paxcorrelation(height > 380000,votes,numvotes,seed) * basevolume / 100000);
}
uint64_t komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uint64_t basevolume)

Loading…
Cancel
Save