Example #1
0
 /**
  * Manipulate data
  */
 protected function manipulateData()
 {
     if ($this->paceUnit->isTimeFormat()) {
         $factor = $this->paceUnit->factorForUnit();
         $this->Data = array_map(function ($v) use($factor) {
             return $v == 0 ? 3600 * 1000 : 1000 * round($v * $factor);
         }, $this->Data);
     } else {
         $dividend = $this->paceUnit->dividendForUnit();
         $this->Data = array_map(function ($v) use($dividend) {
             return $v == 0 ? 0 : round($dividend / $v, 1);
         }, $this->Data);
     }
 }
 /**
  * @param int $paceInSeconds
  * @return int
  */
 protected function zoneFor($paceInSeconds)
 {
     if ($paceInSeconds == 0) {
         return 0;
     }
     if ($this->PaceUnit->isDecimalFormat()) {
         $dividend = $this->PaceUnit->dividendForUnit();
         return $paceInSeconds > $dividend ? 0 : $dividend / floor($dividend / $paceInSeconds);
     }
     $factor = $this->PaceUnit->factorForUnit();
     return round(30 * floor($factor * $paceInSeconds / 30) / $factor);
 }