Skip to content

Eric-Edlund/ihateintegrals

Repository files navigation

ihateintegrals




An open source computer algebra system focused on solving frustrating integrals. Comes with a website.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

To build the library in cas you Rust installed. To build the website, you additionally need npm and jest.

Installing

Build the library:

cd ihateintegrals
cargo build

Run the cas cli test tool:

cd ihateintegrals
echo "[\"Integral\", [\"Divide\", [\"Sum\", [\"Product\", {\"num\": 3}, [\"Exponent\", {\"var\": \"x\"}, {\"num\": 2}]], {\"var\": \"x\"}, {\"num\": 2}], [\"Divide\", {\"num\": 1}, [\"Product\", {\"num\": 2}, {\"var\": \"x\"}]]], {\"var\": \"x\"}]
" | cargo run -- --depth 20 --report-statistics --max-derivations 5000

Build the website:

npm run build
npm run serve # Starts local dev server at localhost:8080

Running the tests

Explain how to run the automated tests for this system

Tests for the website are run with npm run test. The library is tested with the cargo test command.

CAS Library Tests

The cas system has many unit tests which are run with cargo test. There are also integration tests which verify that the capabilities of the derivation process as a whole do not degrade during optimization which is still happening. These are run with cargo test --test '*'.

Built With

Contributing

This project is in a very early stage and contributions probably won't be helpful.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

Computer algebra system for solving frustrating integrals.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published