amber-lang / amber-lang/amber

[Feature] Proposal for Comprehensive Mathematical Module in Amber

Open
#451 3 comments 1 reaction 0 assignees View on GitHub
enhancement hacktoberfest
Dominant language
Rust
Stars
5.2k
Forks
145
Avg merge
5d 3h
Merged PRs (30d)
7

Description

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
- [ ] `sqrt(x: Num): Num` - square root
- [ ] `exp(x: Num): Num` - exponential function
- [ ] `log(x: Num): Num` - natural logarithm
- [ ] `log10(x: Num): Num` - base-10 logarithm
- [ ] `sin(x: Num): Num` - sine
- [ ] `cos(x: Num): Num` - cosine
- [ ] `tan(x: Num): Num` - tangent

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.