You are here

function lessc::op_number_number in Less CSS Preprocessor 6.3

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

File

lessphp/lessc.inc.php, line 998

Class

lessc

Code

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

  // figure out type
  if ($right[0] == 'number' || $right[0] == '%') {
    $type = $left[0];
  }
  else {
    $type = $right[0];
  }
  $value = 0;
  switch ($op) {
    case '+':
      $value = $left[1] + $right[1];
      break;
    case '*':
      $value = $left[1] * $right[1];
      break;
    case '-':
      $value = $left[1] - $right[1];
      break;
    case '%':
      $value = $left[1] % $right[1];
      break;
    case '/':
      if ($right[1] == 0) {
        throw new exception('parse error: divide by zero');
      }
      $value = $left[1] / $right[1];
      break;
    default:
      throw new exception('parse error: unknown number operator: ' . $op);
  }
  return array(
    $type,
    $value,
  );
}