GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Element::getLevel()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
namespace GeoTimeZone\Quadrant;
4
5
class Element
6
{
7
    const MAX_ABS_LATITUDE = 90.0;
8
    const MAX_ABS_LONGITUDE = 180.0;
9
    const ABS_LATITUDE_LIMIT = 89.9999;
10
    const ABS_LONGITUDE_LIMIT = 179.9999;
11
    const LEVEL_A = 'a';
12
    const LEVEL_B = 'b';
13
    const LEVEL_C = 'c';
14
    const LEVEL_D = 'd';
15
    
16
    protected $top;
17
    protected $bottom;
18
    protected $left;
19
    protected $right;
20
    protected $midLat;
21
    protected $midLon;
22
    protected $level;
23
    
24
    /**
25
     * Element constructor.
26
     */
27 25
    public function __construct()
28
    {
29 25
        $this->top = self::MAX_ABS_LATITUDE;
30 25
        $this->bottom = (-1) * self::MAX_ABS_LATITUDE;
31 25
        $this->left = (-1) * self::MAX_ABS_LONGITUDE;
32 25
        $this->right = self::MAX_ABS_LONGITUDE;
33 25
        $this->midLat = 0.0;
34 25
        $this->midLon = 0.0;
35 25
        $this->level = self::LEVEL_A;
36 25
    }
37
    
38
    /**
39
     * Move the current quadrant to a particular location (latitude, longitude)
40
     * @param $latitude
41
     * @param $longitude
42
     */
43 17
    public function moveToNextQuadrant($latitude, $longitude)
44
    {
45 17
        if ($latitude >= $this->midLat) {
46 16
            $this->bottom = $this->midLat;
47 16
            if ($longitude >= $this->midLon) {
48 15
                $this->level = self::LEVEL_A;
49 15
                $this->left = $this->midLon;
50
            } else {
51 12
                $this->level = self::LEVEL_B;
52 16
                $this->right = $this->midLon;
53
            }
54 16
        } elseif ($longitude < $this->midLon) {
55 12
            $this->level = self::LEVEL_C;
56 12
            $this->top = $this->midLat;
57 12
            $this->right = $this->midLon;
58
        } else {
59 12
            $this->level = self::LEVEL_D;
60 12
            $this->top = $this->midLat;
61 12
            $this->left = $this->midLon;
62
        }
63 17
    }
64
    
65
    /**
66
     * Update the mid coordinates attributes of the quadrant
67
     */
68 17
    public function updateMidCoordinates()
69
    {
70 17
        $this->midLat = ($this->top + $this->bottom) / 2.0;
71 17
        $this->midLon = ($this->left + $this->right) / 2.0;
72 17
    }
73
    
74
    /**
75
     * Get the quadrant level (a, b, c or d)
76
     * @return string
77
     */
78 17
    public function getLevel()
79
    {
80 17
        return $this->level;
81
    }
82
}
83