original_string: public function coerce($units)
      {
          if ($this->unitless()) {
              return new Number($this->dimension, $units);
          }
  
          $dimension = $this->dimension;
  
          foreach (static::$unitTable['in'] as $unit => $conv) {
              $from       = isset($this->units[$unit]) ? $this->units[$unit] : 0;
              $to         = isset($units[$unit]) ? $units[$unit] : 0;
              $factor     = pow($conv, $from - $to);
              $dimension /= $factor;
          }
  
          return new Number($dimension, $units);
      }
code: public function coerce($units)
      {
          if ($this->unitless()) {
              return new Number($this->dimension, $units);
          }
  
          $dimension = $this->dimension;
  
          foreach (static::$unitTable['in'] as $unit => $conv) {
              $from       = isset($this->units[$unit]) ? $this->units[$unit] : 0;
              $to         = isset($units[$unit]) ? $units[$unit] : 0;
              $factor     = pow($conv, $from - $to);
              $dimension /= $factor;
          }
  
          return new Number($dimension, $units);
      }
code_tokens: public function coerce ( $ units ) { if ( $ this -> unitless ( ) ) { return new Number ( $ this -> dimension , $ units ) ; } $ dimension = $ this -> dimension ; foreach ( static :: $ unitTable [ 'in' ] as $ unit => $ conv ) { $ from = isset ( $ this -> units [ $ unit ] ) ? $ this -> units [ $ unit ] : 0 ; $ to = isset ( $ units [ $ unit ] ) ? $ units [ $ unit ] : 0 ; $ factor = pow ( $ conv , $ from - $ to ) ; $ dimension /= $ factor ; } return new Number ( $ dimension , $ units ) ; }
docstring: Coerce number to target units
  
  @param array $units
  
  @return \Leafo\ScssPhp\Node\Number
docstring_tokens: Coerce number to target units