<?php
function convertOld($input)
{
$oldMin = 0;
$oldMax = 1;
$newMin = 127;
$newMax = 0;
return ceil(((($input- $oldMin) * ($newMax - $newMin)) / ($oldMax - $oldMin)) + $newMin);
}
function convertNew($input)
{
$range_input = range(1, 0, 1/127);
$range_output = range(0, 127);
foreach ($range_input as $key => $value) {
if ($value <= $input) {
return $range_output[$key];
}
}
return 127;
}
$start = microtime(1);
foreach (range(0,1,1/1000) as $input) { convertOld($input); }
echo "Old time: ".(microtime(1) - $start)."\n";
$start = microtime(1);
foreach (range(0,1,1/1000) as $input) { convertNew($input); }
echo "New time: ".(microtime(1) - $start)."\n";
$warnings = array();
foreach (range(0,1,1/10000) as $input) {
if (convertOld($input) != convertNew($input)) $warnings[] = $input;
}
if (count($warnings)) {
echo "Warning, value mismatches at ".implode(", ", $warnings)."\n";
} else {
echo "All values passed!\n";
}
preferences:
34.2 ms | 402 KiB | 5 Q