-
Notifications
You must be signed in to change notification settings - Fork 0
/
Calculus.php
40 lines (36 loc) · 1.19 KB
/
Calculus.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
namespace Zazalt\Calculus;
require dirname(__FILE__) .'/Extension/Calculus2D.php';
require dirname(__FILE__) .'/Extension/Calculus3D.php';
require dirname(__FILE__) .'/Extension/Graph.php';
require dirname(__FILE__) .'/Extension/CalculusGeo.php';
class Calculus
{
use \Zazalt\Calculus\Extensions\Calculus2D;
use \Zazalt\Calculus\Extensions\Calculus3D;
use \Zazalt\Calculus\Extensions\Graph;
use \Zazalt\Calculus\Extensions\CalculusGeo;
/**
* Check if a nunmber is prime based on trial division
*
* @param integer $number
* @return boolean
* @docs http://en.wikipedia.org/wiki/Prime_number
* @docs http://www.ideaflix.com/question/formula-to-calculate-distance-between-two-latitude-and-longitude-in-php/
*/
public function isPrimeNumber($number)
{
if($number <= 3) {
return ($number > 1);
} else if($number % 2 === 0 || $number % 3 === 0) {
return false;
} else {
for($i = 5; $i * $i <= $number; $i += 6) {
if($number % $i === 0 || $number % ($i + 2) === 0) {
return false;
}
}
return true;
}
}
}