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

Sqrt   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
dl 0
loc 41
ccs 11
cts 11
cp 1
rs 10
c 1
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A sqrt() 0 9 2
A pi() 0 10 2
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