khan / algebra-tool Goto Github PK
View Code? Open in Web Editor NEWtool for manipulating algebraic expressions and equations
Home Page: https://khan.github.io/algebra-tool
License: MIT License
tool for manipulating algebraic expressions and equations
Home Page: https://khan.github.io/algebra-tool
License: MIT License
make it so it always shows up at the bottom of the list, if at all
e.g. -(x+1)
You can select the first group and remove parenthesis from that, but you can't from the second group: http://localhost:3000/?start=(xx+1_x)-(x_1+1*1)%3D3
for add/sub the value must be equivalent to 0, for mul/div the value must be equivalent to 1
Currently, selections only grow which makes it harder than it should be to modify the current selection.
factoring 2x+5-5
with both 5
s selected results in 5(2x+1-1)
but should result in 2x+5(1-1)
maybe an example of what the action does
This is so that if a user types 2.
we keep the decimal instead of dropping it when we call parseFloat
on it.
e.g. 5 - 5/2
=> 5/2
If you type a +-/* sign, you cannot delete it (without pressing the undo button)
this is because negative numbers are sometimes simply literals and other times they are literals wrapped in a negation node. :(
e.g. the fraction key should be something like:
{
type: "layout",
value: "fraction"
}
and the number 3 could be something like:
{
type: "number",
value: "3"
}
This happens if the touchend/mouseup event doesn't occur within a glyph within the selection. The solution is to set a flag whenever an event starts a selection and then check for that flat on touchend/mouseup.
e.g. x + 1 = 5
=> x + 1 / 2 = 5 / 2
should be (x + 1) / 2 = 5 / 2
e.g.
2 - (x + 1)
=> 2 - x - 1
2 - (x - 1)
=> 2 - x - (-1)
We should allow partial selection of operations, e.g. - (x + 1)
e.g. (x/2)*2
=> x
and 2*(x/2)
=> x
number and operation keys should always be visible
The cursor should contain the following information:
If you change your mind after clicking "replace" the only way to escape is with an undo.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.