21 lines
760 B
TypeScript
21 lines
760 B
TypeScript
export const math = {
|
|
abs: (n: number) => Math.abs(n),
|
|
floor: (n: number) => Math.floor(n),
|
|
ceil: (n: number) => Math.ceil(n),
|
|
round: (n: number) => Math.round(n),
|
|
min: (...nums: number[]) => Math.min(...nums),
|
|
max: (...nums: number[]) => Math.max(...nums),
|
|
pow: (base: number, exp: number) => Math.pow(base, exp),
|
|
sqrt: (n: number) => Math.sqrt(n),
|
|
random: () => Math.random(),
|
|
clamp: (n: number, min: number, max: number) => Math.min(Math.max(n, min), max),
|
|
sign: (n: number) => Math.sign(n),
|
|
trunc: (n: number) => Math.trunc(n),
|
|
|
|
// predicates
|
|
'even?': (n: number) => n % 2 === 0,
|
|
'odd?': (n: number) => n % 2 !== 0,
|
|
'positive?': (n: number) => n > 0,
|
|
'negative?': (n: number) => n < 0,
|
|
'zero?': (n: number) => n === 0,
|
|
} |