1.3 KiB
1.3 KiB
Deriv
Deriv is a basic, command-line symbolic differentiation engine, supporting reasonably standard mathematical notation for input and output.
An example interaction:
> 2x^2 + 3x
4x + 3
> x^3 - x^2
3x^2 + -2x
See LOG.md for a log of the development process.
Building and Running
Deriv is written in Rust and uses Cargo as its build system. The Rust toolchain (including Cargo) is most easily installed with Rustup.
Given that you have a toolchain installed, the REPL can be ran with:
cargo run --bin repl
Alternatively, to only build the project:
cargo build
To run the test suite:
cargo test
Limitations
Deriv currently has several limitations:
- Only the variable "x" is currently supported.
- Exponents must be constant (so e.g. "x^x" is unsupported)
- Expression simplification is quite limited, many output expressions may not be fully simplified
- There are no built-in constants like e or π
- Functions such as sine, cosine and natural logarithms are not supported
- The input must be UTF-8 Basic Latin / ASCII-compatible text
License
Deriv is Copyright © Camden Dixie O'Brien, and is available under the Komorebi 2.0.0 license. See LICENSE.md for details.