index/src/XNumber.php

30 lines
729 B
PHP

<?php
// XNumber.php
// Created: 2023-09-15
// Updated: 2023-09-15
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);
}
}