SwiftRPN is an RPN (Reverse Polish Notation) calculator that aims to be quick to open and easy to use.
= RPN Stack
Work quickly and efficiently using the RPN Stack by pushing and popping values. The stack will always show what series
of inputs led to each output, so you wont lose context during complicated expressions.
= Extended Types
SwiftRPN can understand scalar types like integers and real numbers, as well as vectors and square matrices of sizes 2, 3, and 4.
When operating purely in the scalar integer domain, SwiftRPN can promote up to BigInts to avoid floating point imprecision.
= 80 Operators
SwiftRPN has 84 built-in operators with included documentation and examples.
All the expected operators (basic arithmetic, exponents, logarithms) are present, as are:
- Rounding functions (floor/ceil/trunc/round)
- Unit conversions
- Bitwise operations (and/or/not/xor/shift left/shift right)
- Statistics (avg/min/max/sum/std dev/NPV)
- Trigonometry (sin/cos/tan + arc/hyperbolic variants)
- Vector operations (dot/cross/normalize/length/swizzle)
- Matrix operations (identity/inverse/transpose + translation/scale/rotation matrix generators)
= Unit Conversions
SwiftRPN has 74 built-in units, and can convert between units within families, including:
- Angle
- Area
- Colors (3 and 4 components)
- Coordinate systems (2D and 3D)
- Length
- Mass
- Storage (Base 10 [SI, 1000 bytes in a kb] and Base 2 [1024 bytes in a kb])
- Temperature
- Time
- Volume
= Value Representation
SwiftRPN recognizes values represented in binary, octal, decimal, and hexidecimal. You can:
- Enter values in one representation, and convert them to another
- See the result of bitwise operations in binary automatically
- View vec3 and vec4 components (truncated) in hexidecimal when working with colors.