index/src/XNumber.php
2023-11-09 13:12:34 +00:00

31 lines
730 B
PHP

<?php
// XNumber.php
// Created: 2023-09-15
// Updated: 2023-11-09
namespace Index;
use InvalidArgumentException;
/**
* Provides various helper methods for numbers.
*/
final class XNumber {
public static function weighted(float $num1, float $num2, float $weight): float {
$weight = min(1, max(0, $weight));
return ($num1 * $weight) + ($num2 * (1 - $weight));
}
public static function almostEquals(float $value1, float $value2): bool {
return abs($value1 - $value2) <= PHP_FLOAT_EPSILON;
}
public static function easeInQuad(float $n): float {
return $n * $n;
}
public static function easeOutQuad(float $n): float {
return 1 - (1 - $n) * (1 - $n);
}
}