SpicyRPN Release 2.0.0

SpicyRPN is a scientific and financial calculator for iPhone, iPad, and Mac. Choose RPN or ALG entry, work with real or complex numbers, and set working precision from 16 to 10,000 decimal digits. Your calculations, memories, and settings are saved between sessions.

Supported systems: iOS/iPadOS 18.0 and later, and macOS 15.0 Sequoia and later on compatible Apple-silicon and Intel (x86_64) Macs.

Get SpicyRPN and the manual

Release 2.0.0 continues SpicyRPN's earlier App Store release, first offered around 2019. The US$1.99 App Store price pays for the integrated, easy-to-install iOS distribution.

Visit spicyrpn.com for the App Store link, release downloads, and support. You can also build your own copy from the matching SpicyRPN-2.0.0-source.zip. That archive includes the application, its tests, manual sources, build scripts, and the required math-library sources.

Read the online manual or download the PDF manual in a ZIP. The website also provides SHA-256 checksums for verifying the release downloads.

Build your own copy

Before you start

Use a native Terminal session on an Apple-silicon or Intel Mac with full Xcode and the SDKs for your intended destinations. The Xcode installation must support both Mac architectures for the universal Mac build. Launch Xcode once to complete its setup; see the build prerequisites for selecting and checking its command-line tools.

Extract SpicyRPN-2.0.0-source.zip into a path without spaces, and open Terminal in the extracted SpicyRPN-2.0.0/ directory. The selected Xcode and SDK paths must also contain no whitespace. The archive is a complete source snapshot; it contains the pinned GMP, MPFR, and MPC sources used by the build.

1. Build the math libraries

First clear any deployment overrides so the libraries use macOS 15.0 and iOS/iPadOS 18.0 as their minimum versions:

unset MACOSX_DEPLOYMENT_TARGET IOS_SIM_DEPLOYMENT_TARGET IOS_DEVICE_DEPLOYMENT_TARGET

Run the command for each destination you intend to use:

Destination Command
Mac — Apple silicon and Intel bash Scripts/build-math-macos-universal.sh
iOS Simulator — Apple-silicon Mac bash Scripts/build-math-ios-simulator-arm64.sh
iPhone or iPad bash Scripts/build-math-ios-device-arm64.sh

Each command builds GMP → MPFR → MPC from the supplied, verified sources. The Mac command builds both architectures. iOS devices and the Simulator use separate library builds. Wait for the required commands to finish successfully before opening and building the application.

2. Build and run in Xcode

Open SpicyRPN.xcodeproj, select the SpicyRPN scheme, and choose your Mac, Simulator, or connected device as the destination. For a physical iPhone or iPad, select your development team in Signing & Capabilities before building.

Choose Product → Clean Build Folder, then Product → Run (Cmd-R). Use Product → Build (Cmd-B) if you only want to compile it. Xcode uses the libraries you built in the preceding step; it does not build them itself. Mac Release archives include both Apple-silicon and Intel code, while Debug builds normally use the active architecture.

For additional platform recipes, troubleshooting, or changes to GMP, MPFR, or MPC, see the detailed build instructions, including rebuilding with modified libraries.

Optional: run the tests

After building the libraries and configuring your destination, Cmd-U runs the unit and UI tests. The complete UI suite can take hours. For a shorter unit-test run on your Mac, use:

spicy_mac_arch="$(uname -m)"
xcodebuild test -project SpicyRPN.xcodeproj -scheme SpicyRPN \
  -destination "platform=macOS,arch=$spicy_mac_arch" \
  -only-testing:SpicyRPNTests

First calculations

SpicyRPN starts in RPN, with real numbers, degrees, four displayed decimal places, and a five-register stack. You can change the entry mode, angle unit, display format, precision, and stack depth to suit your work.

Entry mode Try adding 2 and 3
RPN Press 2, ENTER, 3, +.
ALG Press 2, +, 3, =.

In RPN, X is the current value, labeled S0 in the full-stack display. Y is the next value, labeled S1. Open the stack display to inspect Y and the deeper registers. Last X and Last Y recall saved operands from a previous operation; they are separate from the current S0 and S1 values.

In ALG, enter an expression using parentheses and the usual operator precedence, then press =. ANS recalls the most recent result. After a result, typing a digit starts a new calculation; typing an operator continues with that result. Switching between RPN and ALG preserves each mode's work.

Press f for orange functions or g for blue functions, then press the key bearing the desired label. CANCEL abandons a pending command or selection. For ordinary memories, press STO or RCL, followed by a register number from 0 to 9.

What you can calculate

Area Capabilities
RPN Configurable stack depth, swap and roll, DROP, Last X/Last Y, and full-stack inspection.
ALG Expressions, parentheses, powers, implicit multiplication, ANS, and worksheets with labeled inputs and results.
Scientific Powers and roots, logarithms, trigonometric and hyperbolic functions, factorials, Gamma, error functions, permutations, combinations, constants, and random numbers.
Complex Rectangular and polar forms, complex arithmetic and functions, and separate component editing.
Memory Ten ordinary registers, memory arithmetic, associative storage, and separate statistics and financial registers.
Statistics Paired samples, means, weighted mean, sample standard deviations, regression, correlation, and estimates.
Finance Time value of money, cash flows, NPV, IRR, amortization, simple interest, bonds, depreciation, and date arithmetic.
Conversions Length, area, volume, mass, temperature, speed, acceleration, force, pressure, energy, power, time, frequency, angle, and torque.

On iPad, the calculator fills the available area with proportionally spaced keys and a larger display in both orientations. In portrait, use the Scientific and Financial keyboard pages; landscape keeps the keys in a stationary layout. Hardware-keyboard input and accessibility features are also supported.

Display and precision

PREC sets working precision and the number of displayed digits. The default working precision is 600 decimal digits; it can be set from 16 to 10,000. The INFIX precision indicator refers to working precision. Changing precision affects subsequent calculations; previously stored values retain their precision.

FSE cycles through FIX, SCI, and ENG notation. DRG cycles through degrees, radians, and grads. Display formatting does not change stored values; RND explicitly rounds a value. Algorithms such as iterative financial solvers have their own accuracy and convergence limits, described in the manual.

Drag a long number horizontally to inspect digits beyond the display. The calibration ruler shows digit positions when the number overflows; CAL toggles the ruler. The ALG expression line uses four decimal places independently of the main display setting, switching to scientific notation when needed to keep the expression readable. This does not reduce calculation precision.

Financial calculations

For time-value-of-money and cash-flow calculations, enter i as a percentage per payment period. Payments and receipts have opposite signs. Use BEGIN or END to select when payments occur.

In ALG, enter a value and press its financial register key to store it. Evaluate a compound expression with = before storing its total. After storing the known values, press CPT, then the quantity to solve—for example, CPT PMT to calculate the payment. Other financial functions open worksheets; accept edited fields with ENTER before choosing COMPUTE.

In RPN, a financial key stores X after numeric entry, arithmetic, or recall, and solves after a financial store or solve. Explicit STO always stores; RCL recalls. The manual provides worked examples for both entry modes.

Cash flows use equally spaced periods. IRR finds a sign-changing root; multiple possible rates may require choosing a bracket with bounded IRR. See the manual for cash-flow signs, financial assumptions, and numerical limits.

Saved work

SpicyRPN saves your stack, memories, financial and statistics data, settings, and unfinished work locally. RPN and ALG keep their own entry state while sharing memories and precision settings. Worksheet inputs and results also survive closing and reopening the app.

Clearing controls have specific scopes. Use CLx for the current RPN entry, CLEAR for the ALG expression, or the appropriate memory, statistics, and financial clearing functions. MCLR selects a group of memories to clear; it is not a factory reset. See HELP or the manual before clearing stored work.

Help and documentation

HELP follows your current entry mode. Its Entry, Memory, and Tools tabs explain that mode's primary, orange, and blue functions. Use the online manual for worked examples, the RPN primer, a complete command reference, and mathematical explanations.

The downloadable manual covers the same release and includes the full license texts. If you want to rebuild the PDF from the supplied LaTeX sources, install full MacTeX first, then run this from the source root:

bash "SpicyRPN Manual/build.sh" --open

The PDF is written to SpicyRPN Manual/build/SpicyRPN-Manual.pdf.

Licenses and acknowledgments

Original SpicyRPN code, tests, scripts, assets, and documentation are licensed under the MIT License. See LICENSE for the complete grant and LICENSING.md for scope and third-party terms.

The calculator uses GMP 6.3.0, MPFR 4.2.2, and MPC 1.4.1 under LGPLv3-or-later, and SQLite, which is public domain. The source ZIP includes the materials needed to rebuild with modified math libraries.

Open HELP → Licenses & Acknowledgments for credits and the complete MIT, GPLv3, and LGPLv3 texts, available offline. GPLv3 is included because LGPLv3 incorporates it and some upstream source material uses it; original SpicyRPN material is covered by MIT.