HalfOddAdapter::determineCarry()   A
last analyzed

Complexity

Conditions 5
Paths 6

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 5

Importance

Changes 0
Metric Value
cc 5
dl 0
loc 9
ccs 6
cts 6
cp 1
crap 5
rs 9.6111
c 0
b 0
f 0
eloc 6
nc 6
nop 2
1
<?php
2
3
namespace Samsara\Fermat\Core\Provider\RoundingModeAdapters\Modes;
4
5
/**
6
 *
7
 */
8
class HalfOddAdapter extends BaseAdapter
9
{
10
11
    /**
12
     * @inheritDoc
13
     */
14 40
    public function determineCarry(int $digit, int $nextDigit): int
15
    {
16 40
        $early = static::nonHalfEarlyReturn($digit);
17 40
        $remainder = $this->remainderCheck();
18
19 40
        if ($early == 0) {
20 24
            return ($nextDigit % 2 == 1 && !$remainder) ? 0 : 1;
21
        } else {
22 16
            return $early == 1 ? 1 : 0;
23
        }
24
    }
25
}