1 | const epsilon = 1e-5;
|
2 | export function areClose(value1, value2) {
|
3 | return Math.abs(value1 - value2) < epsilon;
|
4 | }
|
5 | export function greaterThanOrClose(value1, value2) {
|
6 | return value1 > value2 || areClose(value1, value2);
|
7 | }
|
8 | export function greaterThan(value1, value2) {
|
9 | return value1 > value2 && !areClose(value1, value2);
|
10 | }
|
11 | export function lessThan(value1, value2) {
|
12 | return value1 < value2 && !areClose(value1, value2);
|
13 | }
|
14 | export function isZero(value) {
|
15 | return Math.abs(value) < epsilon;
|
16 | }
|
17 | export function greaterThanZero(value) {
|
18 | return value > 0;
|
19 | }
|
20 | export function notNegative(value) {
|
21 | return value >= 0;
|
22 | }
|
23 | export const radiansToDegrees = (a) => a * (180 / Math.PI);
|
24 | export const degreesToRadians = (a) => a * (Math.PI / 180);
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 | export function valueMap(val, in_min, in_max, out_min, out_max) {
|
35 | return ((val - in_min) * (out_max - out_min)) / (in_max - in_min) + out_min;
|
36 | }
|
37 |
|
\ | No newline at end of file |