Scientific calculator with sin / cos / tan, log, ln, exp, x^y, x!, memory, DEG/RAD mode, paper-tape history — and a 2nd key for inverse functions.
This is a scientific calculator: it adds the trigonometric, logarithmic, and exponential functions, a memory register, and a shift key for inverse operations on top of the same expression-and-paper-tape interface as the standard calculator. Type or click — every visible key has a keyboard shortcut, and every recent calculation lives one tap away in the tape above the editor.
Rows are organized from the most "scientific" at the top to the most "everyday" at the bottom. Row 1 holds the modes and memory: the 2nd key (toggle for inverse functions), the angle-mode toggle (DEG / RAD), and the four memory keys (MC, MR, M+, M−). Row 2 is the trigonometry strip: sin, cos, tan, log, and ln. Press 2nd before any of these and the labels flip to sin⁻¹, cos⁻¹, tan⁻¹, 10^x, and e^x. Row 3 covers exponents and constants: x^y, x² (which becomes x³ under 2nd), √, x!, and π (which becomes e under 2nd). The remaining rows are the same arithmetic keypad you already know — backspace, parentheses, modulo, percent, the four basic operations, the digits, the decimal mark, and the equals key.
The trigonometric functions read their input in degrees by default. Press
the DEG key once and the badge flips to RAD, and from then on the
same sin(30) evaluates as a sine in radians instead of degrees. The mode
persists across page reloads, so once you have set it the way you want, you
do not need to set it again. The inverse functions (sin⁻¹, cos⁻¹,
tan⁻¹) likewise return their result in the active angle unit. asin(0.5)
returns 30 in DEG mode and 0.523... (π/6) in RAD mode.
The domain is enforced strictly: asin(2) and acos(2) produce a domain
error rather than a NaN masquerading as a number. tan(90) in DEG mode
returns a very large number rather than infinity (the sine and cosine of
exactly 90° round to floating-point values that produce a finite ratio),
which is consistent with how nearly all hardware scientific calculators
behave.
log is the common (base-10) logarithm; ln is the natural logarithm. Both
require a positive argument and return a domain error otherwise. The two
inverse functions exposed under 2nd are 10^x (inserts 10^() and
e^x (inserts exp(). The dedicated x^y key inserts the binary ^
operator so you can write any power: 2^10 is 1024, 2^0.5 is √2 ≈
1.414, and so on. Powers are right-associative — 2^3^2 evaluates as
2^(3^2) = 2^9 = 512, the standard mathematical convention.
The factorial postfix x! evaluates the factorial of the previous number
or parenthesized group: 5! is 120 and (2+3)! is also 120. Factorials are
defined for non-negative integers up to 170; anything else returns a domain
error or an overflow.
The calculator keeps a single memory cell, M. M+ adds the most recent committed result (the latest row of the paper tape) to M; M− subtracts it; MC clears M to zero; MR inserts the current value of M into the editor as a number. A small M badge appears in the top-left of the display whenever M holds a non-zero value, so you always know whether you have something to recall. Like the angle mode, the memory survives page reloads.
The Ans key inserts the value of the most recent = result into the
editor. This is the simplest way to chain a complex calculation: compute one
thing, press =, then start the next expression with Ans to feed the
last result in. Ans is also accessible by typing the literal word ans if
you prefer the keyboard.
The paper tape sits above the editor and shows every committed calculation in order, oldest at the top, newest at the bottom. Tap any row in the tape and the calculator copies that expression back into the editor — perfect for tweaking a formula you already typed once. The tape is preserved across page reloads (last fifty entries) and is independent from the standard calculator's tape: switching between the two does not mix histories.
The calculator is generous about implicit multiplication: 2π is 2 × π,
(3+4)2 is (3+4) × 2, and 2sin(30) is 2 × sin(30). Pressing =
auto-balances any trailing parentheses you forgot, so √9 evaluates as
√(9) and gives 3 just like √(9) does. The percent key behaves
contextually, the same way as on most desktop and phone calculators:
200 + 10% is 220, 200 − 10% is 180, and a bare B% is B / 100.
The whole keypad is accessible from your physical keyboard. Digits, the four
operators (+ - * /), parentheses, the caret ^ for x^y, the decimal
mark, Enter and = (validate), Backspace, and Escape (clear) all map
directly. The factorial postfix is the literal ! key. You can also paste
expressions in: common notations like sqrt(x), pi, x*y, ^2, and
^3 are normalized automatically before parsing.
This is a single-line scientific calculator: complex numbers, arbitrary bases for logarithms, hyperbolic and inverse-hyperbolic functions, matrix arithmetic, and statistical regressions are out of scope. The basic four operators, parentheses, the trig + log + exp + power family with their inverses, factorial, percent, modulo, π, e, a memory register, and the paper-tape history give you enough to handle every typical engineering, physics, or finance back-of-the-envelope calculation without leaving the page.