Skip to content
This repository was archived by the owner on Aug 29, 2024. It is now read-only.

Repository files navigation

A step by step solver for math

Join the chat at https://gitter.im/mathsteps-chat/Lobby

https://www.youtube.com/watch?v=iCrargw1rrM

Requirements

Mathsteps requires Node version > 6.0.0

Usage

To install mathsteps using npm:

npm install mathsteps
constmathsteps=require('mathsteps');conststeps=mathsteps.simplifyExpression('2x + 2x + x + x');steps.forEach(step=>{console.log("before change: "+step.oldNode.toString());// before change: 2 x + 2 x + x + xconsole.log("change: "+step.changeType);// change: ADD_POLYNOMIAL_TERMSconsole.log("after change: "+step.newNode.toString());// after change: 6 xconsole.log("# of substeps: "+step.substeps.length);// # of substeps: 3});

To solve an equation:

conststeps=mathsteps.solveEquation('2x + 3x = 35');steps.forEach(step=>{console.log("before change: "+step.oldEquation.ascii());// e.g. before change: 2x + 3x = 35console.log("change: "+step.changeType);// e.g. change: SIMPLIFY_LEFT_SIDEconsole.log("after change: "+step.newEquation.ascii());// e.g. after change: 5x = 35console.log("# of substeps: "+step.substeps.length);// e.g. # of substeps: 2});

(if you're using mathsteps v0.1.6 or lower, use .print() instead of .ascii())

To see all the change types:

constchanges=mathsteps.ChangeTypes;

Contributing

Hi! If you're interested in working on this, that would be super awesome! Learn more here: CONTRIBUTING.md.

Build

First clone the project from github:

git clone https://github.com/google/mathsteps.git
cd mathsteps

Install the project dependencies:

npm install

Test

To execute tests for the library, install the project dependencies once:

npm install

Then, the tests can be executed:

npm test

About

Step by step math solutions for everyone

Resources

Code of conduct

Contributing

Security policy

Stars

2.2k stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages