mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-12-11 07:16:10 +01:00
34 lines
609 B
PHP
34 lines
609 B
PHP
<?php // Math related functions
|
|
|
|
defined('TINYBOARD') or exit;
|
|
|
|
|
|
// Highest common factor
|
|
function hcf($a, $b){
|
|
$gcd = 1;
|
|
if ($a>$b) {
|
|
$a = $a+$b;
|
|
$b = $a-$b;
|
|
$a = $a-$b;
|
|
}
|
|
if ($b == round($b / $a) * $a) {
|
|
$gcd=$a;
|
|
} else {
|
|
for ($i = round($a / 2); $i; $i--) {
|
|
if ($a == round($a / $i) * $i && $b == round($b / $i) * $i) {
|
|
$gcd = $i;
|
|
$i = false;
|
|
}
|
|
}
|
|
}
|
|
return $gcd;
|
|
}
|
|
|
|
function fraction($numerator, $denominator, $sep) {
|
|
$gcf = hcf($numerator, $denominator);
|
|
$numerator = $numerator / $gcf;
|
|
$denominator = $denominator / $gcf;
|
|
|
|
return "{$numerator}{$sep}{$denominator}";
|
|
}
|