Completed
Pull Request — master (#168)
by Jeroen De
02:05
created

PrecisionDetector   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 2
dl 0
loc 14
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A detectPrecision() 0 8 1
detectDegreePrecision() 0 1 ?
1
<?php
2
3
declare( strict_types = 1 );
4
5
namespace DataValues\Geo\PackagePrivate;
6
7
use DataValues\Geo\Values\LatLongValue;
8
9
abstract class PrecisionDetector {
10
11
	public function detectPrecision( LatLongValue $latLong ): Precision {
12
		return new Precision(
13
			min(
14
				$this->detectDegreePrecision( $latLong->getLatitude() ),
15
				$this->detectDegreePrecision( $latLong->getLongitude() )
16
			)
17
		);
18
	}
19
20
	abstract protected function detectDegreePrecision( float $degree ): float;
21
22
}
23