Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

Commit

Permalink
Add CHANGELOG.md
Browse files Browse the repository at this point in the history
  • Loading branch information
mateuszchudyk committed Feb 27, 2019
1 parent d11f747 commit cc62f87
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 4 deletions.
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Change Log

## 1.0.0 (2019-02-27)

**jMath** is a mathematical library to evaluate complicated expression written as a `string`. Main features:
- Expressions are stored as `Abstract Syntax Tree` so the expression can be evaluated many times without re-parsing.
- Expressions can contains variables.
- Support for custom function and operators.
- Functions can be overloaded (resolver chooses function by number of arguments).
- Functions can takes variable number of arguments (variadic functions).
- Expressions can be optimized by optimization passes.
- Support for custom optimization passes.

Library contains set of built-in:
- Constants:
- numeric: `pi`, `e`, `inf`,
- logical: `true`, `false`,
- Operators:
- arithmetic: `+`, `-`, `*`, `/`, `^` (power), `-` (negation),
- comparators: `=`, `<>`, `<`, `>`, `<=`, `>=`,
- logical: `not`, `or`, `and`, `xor`, `nor`, `nand`, `<=>` (iff), `=>` (consequence),
- other: `%` (percentage), `mod` (modulo),
- Functions:
- basic: `pow`, `sqrt`, `root`, `exp`, `log`, `log2`, `log10`, `abs`, `floor`, `ceil`, `round`, `clamp`, `sgn`, `indicator`,
- trigonometric: `sin`, `cos`, `tan`, `asin`, `acos`, `atan`, `atan2`, `sinh`, `cosh`, `tanh`,
- statistical: `min`, `max`, `mean`, `stddev`, `median`,
- random: `rand` (uniform), `nrand` (normal),
- conversion: `to_degrees`, `to_radians`, `to_logical`,
- compound: `gcd`, `lcm`, `factorial`, `fib`, `lagrange`, `poly`,
- Optimization passes:
- BinaryOperatorSimplifying,
- ConstantFolding,
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ Library contains set of built-in:
- trigonometric: `sin`, `cos`, `tan`, `asin`, `acos`, `atan`, `atan2`, `sinh`, `cosh`, `tanh`,
- statistical: `min`, `max`, `mean`, `stddev`, `median`,
- random: `rand` (uniform), `nrand` (normal),
- conversion: `to_degrees`, `to_radians`, `to_logical`
- compound: `gcd`, `lcm`, `factorial`, `fib`, `lagrange`, `poly`
- conversion: `to_degrees`, `to_radians`, `to_logical`,
- compound: `gcd`, `lcm`, `factorial`, `fib`, `lagrange`, `poly`,
- Optimization passes:
- BinaryOperatorSimplifying
- ConstantFolding
- BinaryOperatorSimplifying,
- ConstantFolding,

## Built-in operators

Expand Down

0 comments on commit cc62f87

Please sign in to comment.