DAPP馬蹄鏈智慧合約質押挖礦開發丨DAPP馬蹄鏈智慧合約質押挖礦系統開發技術分析及原始碼

xiaofufu發表於2023-03-08

  本質上來說,智慧合約是一段程式,它以計算機指令的方式實現了傳統合約的自動化處理。智慧合約程式不只是一個可以自動執行的計算機程式,它本身就是一個系統參與者,對接收到的資訊進行回應,可以接收和儲存價值,也可以向外傳送資訊和價值。


  int TensorStatistic::_computeThreshold(const std::vector<float>&distribution){


  const int targetBinNums=128;


  int threshold=targetBinNums;


  if(mThresholdMethod==THRESHOLD_KL){


  float minKLDivergence=10000.0f;


  float afterThresholdSum=0.0f;


  //統計超過128以後(超過閾值)的個數afterThresholdSum


  std::for_each(distribution.begin()+targetBinNums,distribution.end(),


  [&](float n){afterThresholdSum+=n;});本文由系統開發對接唯:MrsFu123編輯整理釋出


  for(int i=targetBinNums;i<mBinNumber;++i){//從128到2048,找到新的threshold


  std::vector<float>quantizedDistribution(targetBinNums);


  std::vector<float>candidateDistribution(i);


  std::vector<float>expandedDistribution(i);


  //0~i-1的分佈情況,之後的資料都列加到第i-1上,做飽和對映


  std::copy(distribution.begin(),distribution.begin()+i,candidateDistribution.begin());


  candidateDistribution[i-1]+=afterThresholdSum;


  afterThresholdSum-=distribution<i>;


  //大小i,重新對映到targetBinNums時的bin間隔


  const float binInterval=(float)i/(float)targetBinNums;


  //merge i bins to target bins


  //[0,j]之間的分佈,合併到[0,targetBinNums]大小的空間中,並儲存在quantizedDistribution


  for(int j=0;j<targetBinNums;++j){


  //[start,end]是對映到128長度的直方圖中第j個bin所對應的資料


  const float start=j*binInterval;


  const float end=start+binInterval;


  //將超出左右範圍的資料,按照距離兩端距離遠近作為係數,累加到當前bin中


  const int leftUpper=static_cast<int>(std::ceil(start));


  if(leftUpper>start){


  const float leftScale=leftUpper-start;


  quantizedDistribution[j]+=leftScale*distribution[leftUpper-1];


  }


  const int rightLower=static_cast<int>(std::floor(end));


  if(rightLower<end){


  const float rightScale=end-rightLower;


  quantizedDistribution[j]+=rightScale*distribution[rightLower];


  }


  //統計並累加在範圍內的資料


  std::for_each(distribution.begin()+leftUpper,distribution.begin()+rightLower,


  [&](float n){quantizedDistribution[j]+=n;});


  }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2938688/,如需轉載,請註明出處,否則將追究法律責任。

相關文章