Passed
Push — GlobeCoordinateParser ( 7d8c3a )
by Jeroen De
02:26
created

PrecisionDetector::detectPrecision()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 8
c 0
b 0
f 0
ccs 0
cts 5
cp 0
rs 10
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
declare( strict_types = 1 );
4
5
namespace DataValues\Geo\PackagePrivate;
6
7
use DataValues\Geo\Values\LatLongValue;
8
use DataValues\Geo\Values\Precision;
9
10
abstract class PrecisionDetector {
11
12
	public function detectPrecision( LatLongValue $latLong ): Precision {
13
		return new Precision(
14
			min(
15
				$this->detectDegreePrecision( $latLong->getLatitude() ),
16
				$this->detectDegreePrecision( $latLong->getLongitude() )
17
			)
18
		);
19
	}
20
21
	abstract protected function detectDegreePrecision( float $degree ): float;
22
23
}
24