You are here

private function lessc::op_number_number in Less CSS Preprocessor 6

Same name and namespace in other branches
  1. 6.3 lessphp/lessc.inc.php \lessc::op_number_number()
1 call to lessc::op_number_number()
lessc::evaluate in ./lessc.inc.php

File

./lessc.inc.php, line 900

Class

lessc

Code

private function op_number_number($op, $lft, $rgt) {
  if ($rgt[0] == '%') {
    $rgt[1] /= 100;
  }

  // figure out the type
  if ($rgt[0] == 'number' || $rgt[0] == '%') {
    $type = $lft[0];
  }
  else {
    $type = $rgt[0];
  }
  $num = array(
    $type,
  );
  switch ($op) {
    case '+':
      $num[] = $lft[1] + $rgt[1];
      break;
    case '*':
      $num[] = $lft[1] * $rgt[1];
      break;
    case '-':
      $num[] = $lft[1] - $rgt[1];
      break;
    case '/':
      if ($rgt[1] == 0) {
        throw new exception("parse error: can't divide by zero");
      }
      $num[] = $lft[1] / $rgt[1];
      break;
    default:
      throw new exception('parse error: number op number failed on op ' . $op);
  }
  return $num;
}