Completed
Push — master ( a65034...5a3549 )
by Michal
03:28
created

Comparison::operate()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 4

Duplication

Lines 6
Ratio 100 %

Importance

Changes 0
Metric Value
dl 6
loc 6
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 4
nc 2
nop 2
1
<?php
2
/*
3
    Copyright (c) 2016 Michal Čihař <[email protected]>
4
5
    This file is part of SimpleMath.
6
7
    This program is free software; you can redistribute it and/or modify
8
    it under the terms of the GNU General Public License as published by
9
    the Free Software Foundation; either version 2 of the License, or
10
    (at your option) any later version.
11
12
    This program is distributed in the hope that it will be useful,
13
    but WITHOUT ANY WARRANTY; without even the implied warranty of
14
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
    GNU General Public License for more details.
16
17
    You should have received a copy of the GNU General Public License along
18
    with this program; if not, write to the Free Software Foundation, Inc.,
19
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
*/
21
namespace SimpleMath\Expressions;
22
23 View Code Duplication
abstract class Comparison extends Operator {
24
25
    protected $precidence = 3;
26
27
    public function operate(\SimpleMath\Stack $stack, $variables=array())
28
    {
29
        $right = $stack->pop()->operate($stack, $variables);
30
        $left = $stack->pop()->operate($stack, $variables);
31
        return $this->cmp($left, $right) ? 1 : 0;
32
    }
33
34
    abstract protected function cmp($left, $right);
35
}
36