Touch 15i: the scientific calculator for iPhone and Android
Figure 1: Touch 15i screenshot - iOS
Figure 2: Touch 15i screenshot - Android
Touch 15i is a scientific calculator for Android and iOS that implements most functions of the HP-15C.
Figure 3: Some user reviews
Touch 15i uses the same base engine of the
HP-15C Web emulator. It aims to mimic all features (and limitations)
of the real device.
The calculator mimics the 15C calculator quite closely.
It shares the same limitations as an original 15C: 322 programming steps,
66 memory positions etc.
Differences from real calculator
Figure 4: Touch 15i screenshot
First of all, it is important to mention that the calculator engine does
not use a ROM dump. It is a clean-room implementation.
So the results simply can not guaranteed to be exactly equal:
- Calculations use 15-digit precision internally,
so there may be minor rounding differences in comparison to a real unit.
- Minus sign in LCD emulation looks different.
- Speed is different; generally the calculator is much faster.
- You can use all programming steps and all STO positions at the same time,
while in the real unit they share the same memory and there is a tradeoff.
- Footer elements like USER, RUN, PRGM etc. occupy different positions.
- Also, there is a slight augmentation in footer elements. For example,
RUN shows the program step, STO-operation shows operation symbol and so on.
- Execution of programs may have a different speed and actual calculations
are shown instead of "Running...".
- Random number generation may not use the same algorithm as the original
does work as expected: a given seed starts a predictable sequence of random
Saving copies of the memory
The app allows to store and retrieve copies of the memory.
This is especially useful to have many different programs available and ready to use
(perhaps the programs would not fit in the memory all at once, or it is simply inconvenient
to have them all in the same memory image). In any case, the whole memory, including
all registers and configurations, is saved along with the program.
Saving copies of the memory in iPhone
Use the following key combinations to access this feature:
- STO g CHS: save memory. Type a label for the memory and touch OK.
- RCL g CHS: load a previously saved memory. Select the memory from the list and touch OK.
- RCL g EEX: delete a previously saved memory.
The memories are stored locally as well as in iCloud. If you have configured iCloud
in your devices, you can transfer memories between
devices, provided that they are configured with the same iCloud account. Also, a new
device will have access to the previously saved memories, so you don't lose anything
when you exchange your iPhone for another one.
Differences in advanced operations
Some differences are more subtle, they affect only advanced operations and
they take a longer explanation.
Integration strategy. This calculator employs the Adaptive Simpson
integration technique. It may and will return results very different from HP-15C
when integrating "funny" functions e.g. with extreme values or extreme slopes.
Integration precision. When the display is in FIX mode, e.g. FIX 3,
HP-15C integrates with precision 0.001 (regardless of how small or how big the
results are). In the other hand, if display is in SCI mode,
it integrates with 3 digits of precision. This implementation always follows the SCI
criteria, so FIX 3 and SCI 3 yield the same precision: three significant digits.
Equation solving. This implementation tries to offer root-finding capabilities
that are equal or better than HP-15C's, but it is expected that performance and
results will be very different, at least for "difficult" functions. In some cases,
this calculator will fare better; in other cases, the HP-15C will.
Matrix operations. Operations involving ill-conditioned or near-singular
matrixes may return different values compared to HP-15C or to other matrix-solving software.
Two factors play a role here: this calculator uses 15-digit precision internally (more
than HP-15C), and algorithms like matrix inversion and LU decompositon can be implemented
in many different ways.
In particular, HP-15C guarantees to find an inverse for every square matrix, by
doing small changes in values. This allows for operations with near-singular matrixes
where the limited floating-point precision might be a problem. But the "tweaking" of
matrixes is certainly made differently in each calculator, thus yielding different
Complex operations. Some operations in complex plane e.g. trigonometric
and hyperbolic functions can be executed in many different ways. This calculator
may show different results compared to HP-15C or to other software that can
handle complex numbers, in particular when precision takes a role e.g. when the
logarithm of a very small number is taken.
Touch the right upper corner of the screen to open a quick guide for some operations of the
Figure 5: Touch15i quick guide
Touch the upper left corner to copy the displayed value (the X register) to the
clipboard. The value is copied in a "spreadsheet-friendly" or
"data entry-friendly" format, that is: no thousand separators and point as decimal
Settings (iPhone version)
This app adds a panel to device Settings. There, you can toggle
decimal point as comma and keypress sound.
These items may also be configured within the application screen, using
the following 'apocryphal' key sequences:
- ON: open Settings
- STO + ON: toggle keypress sound
- RCL + ON: get engine version (different from app version)
In Android, the app implements a menu that is accessible via the Android-standard menu soft button,
or by touching the upper left part of the screen, or by keying RCL g EEX.
- Number format: A 3-state menu option to select the number separator style
between American (1,111,111.99), European (1.111.111,99), and Indian (11,11,111.99).
- Key feedback: a 4-state menu option that allows to choose the feedback on
keypress. The available options are: audio click, strong haptic, mild haptic, and none.
- Display > Stretch on/off: a 2-state menu option that toggles the stretch mode.
"Stretching" fills the entire screen with the calculator, in some screens it may look distorted.
Non-stretched mode uses less of the screen but the looks are preserved.
- Display > Fullscreen on/off: a 2-state menu option that toggles the fullscreen mode,
in which the status bar is hidden.
- Display > Never sleep/Allow sleep: prevents the screen to go to sleep when the calculator is at foreground
- Display > Lock landscape/Lock portrait/Allow rotation: options that allow to lock the orientation
- Memory: load/save memory operations.
- Load memory: loads calculator memory from a file.
- Save memory: saves calculator memory to a file. The user has the option of overwriting
an existing memory file or create a new one.
- Delete memory: remove a memory file from the phone.
- Speed: turn on/off fast speed on program execution. Slow speed (the default) mimicks a real device's
speed. Fast speed runs the program as fast as it can.
The calculator is offered "as is". There are no guarantees of precision,
exactness, or aplicability to any given purpose. The developer has no
responsability for any damages incurring from usage of this software.
The app does not send any user data to any remote party, and it does not share
data with other apps.
In Android, when the user saves copies of the memory, they are written as
files in the "storage area". Files in this area can be manipulated by
any other app installed on the same phone. If this is a problem, remove
these files from the SD Card once they fulfill their intended usage.
You can use the Market support tools, or the comment section at this page, or contact me by e-mail
if you have any issues or feedback.