Add README
This commit is contained in:
1 parent
72d9fa7f88
commit
f8ad49b7d5
1 file changed
+58
@@ -0,0 +1,58 @@
|
|||||||
|
# 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](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](https://rustup.rs/).
|
||||||
|
|
||||||
|
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](LICENSE.md) for details.
|
||||||
Reference in new issue
Block a user