press green flag to enter a new input press space to calculate a given input Supported operators: addition: x + y subtraction: x - y multiplication: x * y division: x / y power: x ^ y square root: sqrt(x) negation: neg(x) or -x absolute value: abs(x) or |x| Supported constants: Pi: π Tau: τ Euler's Number: e Other supported inputs: brackets: (x) integer numbers Any other input is seen as a variable.
Credit to DadOfMrLog for the power operator. Credit to the awesome people on Maths Stackexchange for clearing up how undefined functions work. Credit to Edsger Dijkstra for inventing the Shunting-Yard algorithm (which I use to parse the input), as well as the contributors of Wikipedia for their explanation of said algorithm. Credit to PUSHPENDER SINGH on geeksforgeeks for his postfix to infix algorithm, which I heavily modified in this project. I did some json editing to change some of the list to global lists, which is why the lists are acting a bit weird. todo: add exact return mode to calculator block (ie the input e*2 would return e*2, not 5.436...) add implicit operarators to exact return mode of calculator block (ie the input e*2 would return 2e, not e*2) add implicit operators to input (ie it would accept the inputs 2e, x(3+x), etc.) add explicit equation grapher add implicit equation grapher improve interface