We could start with a mininal version of such library and then we could extend it with other functions. Some of the most important ones could be the following:
Rounding
[x] ceil(x: Num): Num - rounds up to the nearest integer
[x] floor(x: Num): Num - rounds down to the nearest
[x] round(x: Num): Num - rounds to the nearest integer
Absolute and sign
[x] abs(x: Num): Num - absolute value
[ ] sign(x: Num): Num - sign function, returns -1, 0, or 1 depending on the sign of x
Min / Max
[ ] min(a: Num, b: Num): Num
[ ] max(a: Num, b: Num): Num
Optional: Power, root, exponential, logarithms and trigonometric
These can be easily evaluated using bc with flag -l
[ ] pow(base: Num, exponent: Num): Num - power function
We could start with a mininal version of such library and then we could extend it with other functions. Some of the most important ones could be the following:
Rounding
ceil(x: Num): Num
- rounds up to the nearest integerfloor(x: Num): Num
- rounds down to the nearestround(x: Num): Num
- rounds to the nearest integerAbsolute and sign
abs(x: Num): Num
- absolute valuesign(x: Num): Num
- sign function, returns -1, 0, or 1 depending on the sign of xMin / Max
min(a: Num, b: Num): Num
max(a: Num, b: Num): Num
Optional: Power, root, exponential, logarithms and trigonometric
pow(base: Num, exponent: Num): Num
- power functionsqrt(x: Num): Num
- square rootexp(x: Num): Num
- exponential functionlog(x: Num): Num
- natural logarithmlog10(x: Num): Num
- base-10 logarithmsin(x: Num): Num
- sinecos(x: Num): Num
- cosinetan(x: Num): Num
- tangent