Passed
Push — master ( ac5b96...b01a48 )
by Mark
08:23
created

Sqrt::sqrt()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 5
nc 2
nop 1
dl 0
loc 9
ccs 5
cts 5
cp 1
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig;
4
5
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
6
7
class Sqrt
8
{
9
    /**
10
     * SQRT.
11
     *
12
     * Returns the result of builtin function sqrt after validating args.
13
     *
14
     * @param mixed $number Should be numeric
15
     *
16
     * @return float|string square roor
17
     */
18 12
    public static function sqrt($number)
19
    {
20
        try {
21 12
            $number = Helpers::validateNumericNullBool($number);
22 2
        } catch (Exception $e) {
23 2
            return $e->getMessage();
24
        }
25
26 10
        return Helpers::numberOrNan(sqrt($number));
27
    }
28
29
    /**
30
     * SQRTPI.
31
     *
32
     * Returns the square root of (number * pi).
33
     *
34
     * @param float $number Number
35
     *
36
     * @return float|string Square Root of Number * Pi, or a string containing an error
37
     */
38 19
    public static function pi($number)
39
    {
40
        try {
41 19
            $number = Helpers::validateNumericNullSubstitution($number, 0);
42 16
            Helpers::validateNotNegative($number);
43 6
        } catch (Exception $e) {
44 6
            return $e->getMessage();
45
        }
46
47 13
        return sqrt($number * M_PI);
48
    }
49
}
50