On Steem Blockchain, the reputation can be formatted in a logarithmetic (base 10) scale. Given recently, my PR to fix the reputation formatter in SteemJS is merged, I also translate this to PHP which I need.
function formatReputation($rep) {
if (!$rep) return 25;
$neg = $rep < 0;
$rep = (string)$rep;
$rep = $neg ? substr($rep, 1) : $rep;
$v = log10(($rep > 0 ? $rep : -$rep) - 10) - 9;
$v = $neg ? -$v : $v;
return round($v * 9 + 25, 3);
}
Some Example usages:
echo formatReputation(95832978796820) . "\n";
echo formatReputation(10004392664120) . "\n";
echo formatReputation(30999525306309) . "\n";
echo formatReputation(-37765258368568) . "\n";
echo formatReputation(334486135407077) . "\n";
echo formatReputation(0) . "\n";
The above PHP code should output the following values (you can use them to unit test the function):
69.834 61.002 65.422 -16.194 74.719 25
–EOF (The Ultimate Computing & Technology Blog) —
213 wordsLast Post: Dynamic Programming Algorithm to Compute the Max Dot Product of Two Subsequences
Next Post: SQLite Explan: Why the Most Popular Accounts Query is Slow compared to Most Blocked Accounts Query?
