/** * Sub two Numbers * $l - $r * * @param VONumber $l * @param VONumber $r * * @return VONumber */ public function sub(VONumber $l, VONumber $r) { if ($l instanceof IntegerNumber && $r instanceof IntegerNumber) { return new IntegerNumber(bcsub($l->__toString(), $r->__toString())); } else { $scale = FloatNumber::getScales($l, $r); $res = new FloatNumber(bcsub($l->__toString(), $r->__toString(), $scale[1]), $scale[0]); return $res; } }