y-max
y-min
y-max
y-min
Basic Operators | |
---|---|
-3.14 + 1234 - 22 ^ 2 * 22 / 7 | Basic operations (+, -, *, /, ^, //, %) |
x = 5 | Variable assignment (all identifiers default to 0) |
My_VAR = 3.1e-100 | Scientific notation |
zero = 0xF0d - 0b111100001101 | Hexidecimal and binary literals |
x = (((-b) + (b^2 - 4*a*c)^.5) / (2*a)) | Grouping |
f(x, y) = x + y + z | Function assignment (x and y are variable, z is an identifier) |
f(a, b, x) | Function calls (a, b, and x's values are passed) |
5 * 2 == 10 | Comparison (==, !=, <, >, <=, >=) (return 1.0 or 0.0) |
f'(1) + y''(x) + g''''(7) | N'th numerical derivative (function must have 1 variable) |
Macros (Graphing, Algebra, Misc.) | |
Macros are syntactically the same as normal functions, but they are "expanded" (the equation tree of the function is replaced by the result of the macro call) before the command is evaluated. This enables constructions like graph(deriv(x)) and disables constructions like graph(clear()) (whose expansions are [graph(deriv(x)) => graph(1) => NAN] and [graph(clear()) => graph(NAN) => NAN], respectively). | (Graphing) |
print_tree(expr) | Prints the parsed expression tree to the developer console |
graph(e) | Adds expression e to graph (x is used as the variable) |
ungraph(n = 0) | Removes the n'th foremost function from the graph |
graph_axes() | Adds the axes to the graph |
ungraph_axes() | Removes the axes from the graph |
set_graph_window(x_min, y_min, width, height) | Manually sets the dimensions of the graphed area | (Algebra) |
deriv(expr, var=x) | Symbolic derivative with respect to the given variable |
simp(expr) | Symbolic simplification (trivial axioms and term/factor cancellation) |
expand(expr) | Symbolic expansion (distribution of factors over sums and exponents over products) | (Misc) |
ans() | Returns the result of the last command |
clear() | Clears the terminal |
sqrt(expr) | Expands to expr^0.5 |
Special Variables | |
PI | approx. 22 / 7 ± 0.01 |
E | ln(E) == 1 |
NAN | Not-A-Number |
RAND_MAX | Largest possible result of rand() |
DERIV_STEP | Step-Size when calculating nderiv, (1e-6 by default) |
INT_NUM_RECTS | Number of rectangles used by nintegral (100 by default) |
TICS_ENABLED | Boolean option to enable/disable tics on axes |
ECHO_TREE | Unconditionally echos the tree before macros (~>) and after macros (->) |
ECHO_ANS | Unconditionally echos the numerical result (+>) |
ECHO_AUTO | Echos the tree after macro expansion or the numerical result, depending on whether the tree was modified during macro expansion (=>) |
PARTIAL | Symbolic derivative treats non-differential variables as constants? (default = 1) |
AUTO_SIMP | Automatically call simp() after symbolic derivative / before graphing? (default = 1) |
INT_POWER_EXPANSION_THRESHOLD | Maximum absolute-value of an integer-exponent of a sum to expand. (default = 3) |
Normal Built-In Functions | |
max(n, ...) | Variadic maximum |
min(n, ...) | Variadic minimum |
gcd(n, ...) | Variadic greatest common divisor |
floor(n) | Rounds towards negative infinity |
ceil(n) | Rounds towards positive infinity |
int(n) | Rounds towards zero |
abs(n) | Absolute value |
pow(b, e) | Analagous to b ^ e |
rand() | Random integer between 0 and RAND_MAX |
factorial(n) | n! |
perm(n, r) | n! / (n - r)! |
comb(n, r) | n! / ((n - r)! * r!) |
deg(r) | Converts r (a quanitity in radians) to degrees |
rad(d) | Converts d (a quanitity in degrees) to radians |
sin(n), cos(n), tan(n) | Trigonometric functions |
csc(n), sec(n), cot(n) | Trigonometric functions |
asin(n), acos(n), atan(n) | Inverse trigonometric functions |
ln(n), lg(n), log(n) | Logarithm base E, 2, and 10, respectively |
logb(x, b) | Log of x base b = log(x) / log(b) |
nderiv(f, d, x) | Numerical derivative (of expression f at x with respect to d) |
nintegral(f, d, s, e, r = INT_NUM_RECTS) | Numerical derivative of f with respect to d from s to e (approximaged using a Midpoint Riemann Sum of r rectangles) | Key-Bindings |
Up/Down Arrow Keys | Go backward / forward in command history |
Panning | Hold the left mouse-button down, and drag along the graph |
Zooming | Put the cursor over the region to zoom onto, scroll up or down |
Graphing Functions | Call the graph(e) function in the terminal |
Removing Functions | Call ungraph() or use the 'x' buttons in the user interface |
Re-layering and Coloring Functions | Use the user interface |
Reset window bounds to default 20x20 around (0, 0) | Double-Click on graph |
Toggle Trace Mode | Right-Click on graph |