================================================================================
Calc- (Calc minus): A simple calculator.
Version 1.00 (1 May 2009)
Noriyuki Mihashi
================================================================================
[Contents]
1. Summary
2. System reqirement
3. Installation
4. Uninstallation
5. Getting start
6. Detail description
7. Note
8. Licences
9. Changes history
1. Summary
This is a simple calculator program. It is a little similar to Psion's built-
in 'Calc' program but has less functions of scientific view. And instead of
less spec, it has some useful features that the Psion's one does not have.
Some features added on it are inspired from the old calculator EL-5103 made
by SHARP corporation released about 30 years ago. Though EL-5103 calculator
is old-fashioned scientific calculator defferent from today's intelligent
machine or legendary one such as HP's RPC calculator, it has much usability
come from well designed user interface.
Features inspired from EL-5103 calculator are followings:
- Naturaly formula expression that makes us enable inputing formula as hand-
writing. It supports priority of operators and can control them by using
brackets. And it makes possible scrolling formula when it becomes long.
- 'Play-back' function that makes it possible re-edit formula once computed.
- Multiple memory cell assigned from letters 'A' to 'F'.
- Memoried formula computing with variable from letters 'A' to 'F'. It makes
us repeat computing with changing value of variables.
Another useful feature this program has is a in-line scale changing with
prefix letters 'b,o,d,x'. It was taken idea from the famous calculator pro-
gram 'Flcalc5' produced by FreEPOC group.
One more useful features this program is a 'Till-roll' function from Psion's
built-in 'Calc' program. Getting those useful features, this program become
much useful though it has less function of scientific calculation. So I named
'Calc-' to this program.
2. System reqirement
This program does not needs particular system requirements excepting your
Psion hardware. But I am afraid that it cannot work on Revo because of lack
space on their LCD window.
And one more sorry about system environment restriction that some charactors
may not be drawn correctly under Asian language environment such as 'UniFEP'.
3. Installation
You will see the following files after expanding the ZIP archive.
./ ----- Calc-.txt This text.
Calc-.SIS Installation file.
srcs/ ------- Calc-.opl Source lists.
Calc-.oph
Icon.mbm Icon file.
aSync.mbm Bitmaps.
Pick up the extracted 'Calc-.SIS' file and install it on your Psion. When
installation is complete, an icon of 'Calc-' will appear in the Extras bar on
your Psion.
4. Uninstallation
If you have the 'Add/remove' icon in your Psion's control panel, select Calc-
in the 'Add/remove' window and remove it. Or find the 'Calc-' directory in
the '\System\Apps\' directories in drives C: and D: on your Psion, and delete
all the files included in them.
5. Getting start
This program is very simple, so you will not need any description on begin
using. You can operate it like your handheld calculator.
One thing if I can note is that you can use keyboard instead pen-touching on
LCD screen. If you know what keys assigned to each button, press [Ctrl]+[K]
keys or [?] key. There displayed keyboard shortcuts on each keys for several
seconds.
6. Detail description
6.1. Button keys
You can see following buttons on LCD screen. Buttons are placed into three
groupes. The second functions are available when after [Shift] pressed.
Group 1:
[Shift] Selecting second function of each keys.
[Not\xor] Operator of 'Not'(~) / Operator of 'Xor'(^)
[And\<<] Operator of 'And'(&) / Operator of 'Shift up'(<)
[Or\>>] Operator of 'Or'(|) / Operator of 'Shift down'(>)
[bin\dec] Prefix means the number after it is binary (b)
/ Prefix means the number after it is decimal (d)
[hex\oct] Prefix means the number after it is hexadecimal (x)
/ Prefix means the number after it is octal (o)
[Mode\bit] Changing mode of scale / Changing bit precision
[Var\fix] Symbol of variable ($) / Changing decimal point
[M+\M-] Add to memory / Sub from memory
[MR\mc] Memory recall / Memory clear
[Store] Memory value into any of cell from 'A' to 'F'
[Load\clr] Call value from memory cell / Clear memory cell
Group 2:
[A]-[D] Memory cell or hexadecimal number
[E\1111] Memory cell or hexadecimal number / input '1111' at once
[F\1111] Memory cell or hexadecimal number / input 'ffff' at once
[1]-[9] Numeric
[0\pi] Numeric / The circular constant (@)
[.\000] Decimal point / input '000' at once
[:\0000] Separator for time / input '0000' at once
Group 3:
[BS\del] Backspace / Delete charactor on cursor
[AC] Clear formula and answer
[<-\|<-] Move cusror back / Move cursor to the top of formula
[->\->|] Move cursor forward / Move cursor to the end of formula
[(\pow] Left bracket / Operator for 'power'(")
[)\sqr] Right bracket / Operator for 'square root'(_)
[*] Operator for 'multiply'
[/\mod] Operator for 'divide' / Operator for 'modulus'(%)
[+] Operator for 'add'
[-] Operator for 'sub' or 'negative'
[=] Start computing
6.2. Inputing formula
Different from other calculators for office use, this program do not start
computing until pressed [=] button or enter key. You can edit formula as
you like before start computing. And once you computed, you can re-edit
formula by moving cursor anywhere unless you press [AC] button.
This program understands formula as we write on a paper. There exists some
priority among operators and you can control them by using brackets.
Example)
'1+2*3' becomes '7'.
'(1+2)*3' becomes '9'.
Brackets allows be nested. But caution too much nesting might cause error.
6.3. Priority among operators
Operators used in this program have priority among them. The priority is
listed below from higher to lower:
Operator Operand Direction
----------------------------------------------------------
-(nega),~(not),_(sqrt) Single(After) Right to left
"(power) Double Left to right
*(mult),/(div),%(mod) Double Left to right
<(shft-up),>(shft-dn) Double Left to right
+(add),-(sub) Double Left to right
&(and) Double Left to right
|(or),^(xor) Double Left to right
Operators takes single operand(-,~,_) will have higher priority if they
lined up each other. Caution they are not allowed lined continuously over
three and not cannot appear twice in the same lined part.
Example)
'1+-~_4"-~_9/9' means '1+pow(-not(sqr(4)),-not(sqr(9)))/9' becomes 10.
'1+~-~_4' becomes error (four operators of single operand lined)
'1+~(-~_4)' becomes -3 (lined part is separated by brackets)
'1-~-4' becomes error (operators of single operand appared twice)
'1-(~-4)' becomes -2 (lined part is separated by brackets)
6.4. Mode
This program has five mode of number format: binary, octal, decimal, hexa-
decimal, and date.
In each mode, default number format is same as mode. But you can change it
temporaly by using prefix of mode under any mode, there ar 'b', 'o', 'd',
and 'x'.
Example)
'10+1' means '2+1' under binary mode.
'10+1' means '8+1' under octal mode.
'10+1' means '10+1' under decimal mode.
'10+1' means '16+1' under hexadecimal mode.
'b10+o10+d10+x10' means '2+8+10+16' becomes 36 in decimal format.
The date mode is special. This mode bases on decimal but it computes value
as dates and times. Values are expressed on 'DD.MM.YYYY:hh:mm:ss' format
and they are computed as days from 1st Jan 1900 internaly. You can reduce
to input date or time if you do not need.
Example)
'31.1.2009:9:45:30' means 31 Jan 2009 9:45:30.
'31.1.2009' means 31 Jan 2009.
'31' means 31 days.
'9:45:30' means 9:45:30.
'2:9:45:30' means two days and 9 hours 45 minutes 30 seconds.
You can change setting of date format according to your country from three
types: 'DD.MM.YYYY', 'MM.DD.YYYY' and 'YYYY.MM.DD'.
Answers in this mode are noted as 'days / day of week / absolute date'. If
you need only diffrerent of days among two dates, see only days and ignore
other part. Similarly if you want only different of times, see only days
part and time in absolute date.
Example)
'28.2.2009-31.1.2009' becomes '28 DAYS / MON / 29.1.1900'. But then you
will need only '28 DAYS' and ignore others.
'23:30+1:30' becomes '1 DAYS / TUE / 02.01.1900:02:00:00'. You can think
it as 2:00 of next day.
Caution that you can use any operator in this mode other than '+' and '-'.
So it was allowed non-sense calculation such as '31.1.2009*_14:30', and it
will become '30968 DAYS / MON / 15.10.1985:10:52:20'.
6.5. Using variable
This program takes it as variable if the formula contains a numeric with
'$' before it. You can use up to ten variables from '$0' to '$9', and they
can be places any times in the formula.
If this program starts computing the formula contains variables, it asks
each value for the variables in turn from one with lower number. You can
use any variable you like, not need from '$0', not need use sequentialy.
Example)
Formula input '1+$0*3'
Value entered '$0=2'
Formula computed '1+2*3' becomes 7
Formula input '1+$5*3+$1%4-$1/10'
Value entered '$1=30', '$5=2'
Formula computed '1+2*3+30%4-30/10' becomes 6
I called this function 'variable'. In fact, it is not variable exactly but
just a pattern replacing. So you should care following usage.
Example)
Formula input '1+2$0'
Value entered '$0=3'
It does not computed as '1+2*3', but '1+23'. So it becomes 24.
Formula input '1+$0*4'
Value entered '$0=2+3'
Entered '2+3' is not computed at first. It is replaced to '1+2+3*4', so
the answer becomes 15, not 21. If you want to compute '2+3' at first,
input '(2+3)' to asked '$0='.
6.6. Memories
This program has two kind of memories. One of them is just same as other
popular calculator. It is operated by [M+], [M-], [MR] and [mc] functions.
The other one can only keeping value that cannot adding or subtracting. It
is operated by [Store], [Load] and [clr] functions.
The first one is named 'M', and the other one has six cells named from 'A'
to 'F'. You can see current values of them at once by selecting 'Memories'
function in 'Tools' menu.
To storing value into cells from 'A' to 'F', press [Store] button first,
then press any of keys 'A' to 'F'. It takes same step as this to recalling
or clearing cells.
6.7. Changing width of decimal fraction
In decimal mode, width of decimal fraction is fixed and it can be set from
0 to 15 as you like. To change width of it, press [fix] button first, then
press one of keys from '0' to 'F'. Keys 'A' to 'F' means 10 to 15.
Caution that it is rounded off under smallest collumn after decimal point.
Example)
'0.123456789' brcomes '0.1235' when width is 4.
'0.123456789' brcomes '0.123' when width is 3.
6.8. Logging
You can see logging window initialy on the left side of screen. Same as
the Psion's built-in 'Calc' program, formulas and answers are recorded on-
to it. Also same as Psion's one, this program can change side of logging
window left to right too by selectiing 'Flip layout' function in 'Settings'
menu.
In this program, there are two more features what Psion's built-in 'Calc'
does not have. One of them is detail logging feature. You can see detail
process of complex calculation if this option turned on. It can be select
by checking the 'Logging details' item on in 'Preferences' window.
The other one is function of saving logs. It can save logged records into
text files by 'Save log' function in 'File' menu.
6.9. Preferences
Some features about a view of this program can selected as you like. They
can be set in 'Preferences' function in 'Settings' menu. Items you can set
are following:
- Format of date in the 'Date' mode. You can select one from 'DD.MM.YYYY',
'MM.DD.YYYY' or 'YYYY.MM.DD'.
- Operator symbol for multiply. You can select '*' or mathematical symbol.
- Operator symbol for divide. You can select '/' or mathematical symbol.
- Detail logging. This was described in previous section 6.7.
7. Note
7.1. This program allows nesting of brackets in formula. But too meny nests
of brackets may cause error from memory lack.
7.2. In binary, octal, and hexadecimal mode, any real number are converted to
integer by omitting the figures after the decimal fraction. It is same
when logical oparation are done, such as 'And', 'Or', 'Not', or 'Xor'.
7.3. This program cannot compute imaginal number. It makes error if you let
it computing square root of negative number.
8. Licences
8.1. The copyright of this program and other related products distributed
together (source codes, icons, documents, etc.) belongs to the author of
this program.
8.2. This program is distributed as freeware by the copyrighter. No payment
is necessary for commercial or noncommercial use.
8.3. The author of this program accepts no claims for physical, mental,
material, monetary, social, religious, political or any kind of damages
caused by you using this program. Anyone who use this program must aban-
don all claims for all damages described above.
8.4. Those who have this program may reuse a whole or part of its source code
for their own products and can redistribute them freely for commercial
or non-commercial use without the permission of the copyrighter, except
the official application UID allocated by the Symbian Ltd.
8.5. Those who make their own products by reusing the source code of this
program may not prevent others from using this program and must allow
its free distribution, free use, free redistribution and free reuse by
claimimg their copyrights.
8.6. You agree to all the articles listed above in this chapter when you use
this program or reuse source code of it.
9. Changes history
Ver.1.00 (01 May 2009):
- Released.