Passed
Push — master ( 4b8292...9204d2 )
by Mark
10:15
created

Cosine::acos()   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 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 5
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 9
ccs 5
cts 5
cp 1
crap 2
rs 10
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig;
4
5
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
6
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
7
8
class Cosine
9
{
10
    /**
11
     * COS.
12
     *
13
     * Returns the result of builtin function cos after validating args.
14
     *
15
     * @param mixed $number Should be numeric
16
     *
17
     * @return float|string cosine
18
     */
19 12
    public static function cos($number)
20
    {
21
        try {
22 12
            $number = Helpers::validateNumericNullBool($number);
23 1
        } catch (Exception $e) {
24 1
            return $e->getMessage();
25
        }
26
27 11
        return cos($number);
28
    }
29
30
    /**
31
     * COSH.
32
     *
33
     * Returns the result of builtin function cosh after validating args.
34
     *
35
     * @param mixed $number Should be numeric
36
     *
37
     * @return float|string hyperbolic cosine
38
     */
39 7
    public static function cosh($number)
40
    {
41
        try {
42 7
            $number = Helpers::validateNumericNullBool($number);
43 1
        } catch (Exception $e) {
44 1
            return $e->getMessage();
45
        }
46
47 6
        return cosh($number);
48
    }
49
50
    /**
51
     * ACOS.
52
     *
53
     * Returns the arccosine of a number.
54
     *
55
     * @param float $number Number
56
     *
57
     * @return float|string The arccosine of the number
58
     */
59 11
    public static function acos($number)
60
    {
61
        try {
62 11
            $number = Helpers::validateNumericNullBool($number);
63 1
        } catch (Exception $e) {
64 1
            return $e->getMessage();
65
        }
66
67 10
        return Helpers::numberOrNan(acos($number));
68
    }
69
70
    /**
71
     * ACOSH.
72
     *
73
     * Returns the arc inverse hyperbolic cosine of a number.
74
     *
75
     * @param float $number Number
76
     *
77
     * @return float|string The inverse hyperbolic cosine of the number, or an error string
78
     */
79 10
    public static function acosh($number)
80
    {
81
        try {
82 10
            $number = Helpers::validateNumericNullBool($number);
83 1
        } catch (Exception $e) {
84 1
            return $e->getMessage();
85
        }
86
87 9
        return Helpers::numberOrNan(acosh($number));
88
    }
89
}
90