Calc3a Scientific Calculator for Psion Series 3a [$10 shareware] Version V1.5.7 [04/12/96] Index ===== 1. CONTACT INFORMATION 2. OVERVIEW OF PROGRAM 3. HOW TO REGISTER 4. INSTALLING CALC3A 4.1 DISTRIBUTION 4.2 HOW TO INSTALL 4.3 REQUIREMENTS 5. GENERAL 5.1 CALCULATOR MAIN SCREEN 5.2 USING HELP 5.3 USING MENUS 5.4 PREFERENCES 6. CALCULATIONS 6.1 GETTING STARTED 6.2 FUNCTIONS 6.2.1 Functions with two results 6.2.2 Functions with temporary results 6.2.3 Percentage calculations 6.3 CALCULATION EXAMPLES 6.4 MEMORIES 6.4.1 Statistics memories 6.4.2 Calculator memories 6.4.3 Recall buffer 6.4.4 Export of memories 7. EQUATIONS 7.1 THE EQUATION DATABASE 7.2 INPUT OF EQUATIONS 7.3 DELETE EQUATIONS 7.4 EVALUATING EQUATIONS 8. SOLVER 8.1 THE EQUATION DATABASE 8.2 SOLVING EQUATION 9. XY PLOT 9.1 PLOT SETTINGS 9.2 EXECUTE XY PLOT 9.2.1 Trace mode 10. CONSTANTS 11. INTEGRATE 12. EXTERNAL MATH FUNCTIONS 13. DISCLAIMER 14. APPENDICES 14.1 FUNCTION REFERENCE 14.2 KEYBOARD REFERENCE 14.3 FUNCTIONS IN ADDON 14.4 EQUATION CONVERTER 1 CONTACT INFORMATION ===================== The author can be reached by mailing to: Alfa Computing Richard Schmidt Richard Sturenberghlaan 50 2273 GX VOORBURG THE NETHERLANDS (EUROPE) Email @ Compuserve : 100735,331 Email @ Internet : rschmidt@worldonline.nl Home page : http://www.worldonline.nl/~rschmidt/ 2. OVERVIEW OF PROGRAM ====================== Welcome to Calc3a! Calc3a is a scientific calculator for the Psion Series 3a. It operates similar to a CASIO(c) FX or SHARP(c) style calculator and has approximately 60 built-in math functions. Calc3a has been set up to be just like a physical calculator. It has an LCD display and tiny buttons which can be accessed with single keystrokes. Calc3a is only available in English for the Psion Series 3a. 3 HOW TO REGISTER ================= Possible ways to register: - use SwReg on compuserve to register online SWReg id : 7171 Product : Calc3a Online registration is $10 - send $10 cash in envelope to my postal address (ALL CURRENCY ALLOWED !) 4. INSTALLING Calc3a ==================== Before using the Calc3a application you should install it from your PC to your Psion. 4.1 Distribution ================ An unregistered copy of this application may be distributed freely. The Calc3a application itself consists of the following files: CALC3A.OPA Main application CALC3A01.RSC Help screens CALC3A02.RSC Equation evaluator module CALC3A03.RSC XY Plot module CALC3A04.RSC Application resources ADDON.OPL Example code for external math functions ADDON.OPO Compiled version of ADDON.OPL CALC3A.EQN Database with example equations only for use with decimal separator set to period. MANUAL.TXT This manual EQNCONV.OPO Utility to convert period based 4.2 How to install ================== To install Calc3a: - start RCOM or MCLINK; - connect and switch on Psion link in system screen with Psion-L; - copy file CALC3A.OPA to an \APP directory on any disk - copy files CALC3A01.RSC, CALC3A02.RSC, CALC3A03.RSC and CALC3A04.RSC to an \APP\CALC3A directory on any disk. - optionally copy file ADDON.OPO to an \OPO directory and ADDON.OPL to an \OPL directory on any disk. This is only needed when you want to add you own math functions to the program. - optionally copy file CALC3A.EQN to an \OPD directory on your default disk. This is only needed when you want to use/try the enclosed example equations and has a period selected as decimal separator (in the system screen). - Install the Calc3a application in the system screen by pressing Psion-I. Make sure you have an \OPD directory on your default drive. Calc3a will save its configuration to \OPD\CALC3A.INI. For easy use of the program, assign the CALC button to the program by pressing Psion-A. 4.3 Requirements ================ The application requires 90K RAM memory and approximately 80K ram of disk space. If your machine appears to be out of memory try to close a few applications or erase files from internal memory (after making a backup first!). 5. GENERAL ========== 5.1 Calculator main screen =========================== After the application has been launched from the system screen, the calculator main window appears. The patterned grey bar on the top of the screen contains two 'LCD displays'. The left LCD display shows us the calculator modes and the contents of the active memory. The modes can be changed by keyboard or from the pull-down menus. Mode Description -------------------------------------------------- Page PAGE_A First page with 60 buttons PAGE_B Second page with 60 buttons PAGE_C Third page with 60 buttons (external functions) Calculation COMP Compute mode, scientific calculations mode SD Statistics mode LR Linear regression mode Trigonometr. DEG Trigonometric. calculations with degrees mode RAD Trigonometric. calculations with radians Format GEN General format base-10 numbers SCI Scientific format e.g.1.0E-12 FIX Fixed format, fixed number of decimals HEX Hexadecimal format base-16 numbers BIN Binary format base-2 numbers OCT Octal format base-8 numbers ENG Engineering mode E-12 .. E12 (temporary mode) Contents of active memory MA..MZ Memory 1 (A) up to memory 26 (Z) There are three keys available to switch these modes: - Psion-C, to alter calculation mode; - Psion-T, to alter trigonometric mode; - Psion-F, to alter display format; - Shift-Psion-F, to alter display format in reverse order. Press these keys repeatedly to select the desired mode. To change directly to a base-n mode there are four shortcut keys available: - Psion-D switch/convert to decimal (base-10)mode; - Psion-H switch/convert to hex (base-16) mode; - Psion-O switch/convert to octal (base-8) mode; - Psion-B switch/convert to binary (base-2) mode; The last result or typed-in number on the LCD screen will then automatically be converted to the selected base-n equivalent. These four shortcuts are also available in the menus. Press the Menu key to display the top level menu. The calculator has 26 memories to store numbers and intermediate results. These memories are called `MA' to `MZ'. The contents of the active memory is always displayed on the left LCD. To switch between these 26 memories press Control and the memory identification character. e.g. Control-C will select memory 3 (MC) and the contents of this memory is displayed on the left LCD. Please refer to chapter `Memories' to learn more about these memories. The right LCD display shows us calculation results and numbers typed in by the user. If the format is set to hexadecimal, binary or octal, the displayed numbers are succeeded by a single character where `b' stands for binary number, `o' stands for octal number and `h' stands for hexadecimal number. Negative numbers are preceded by a negative (-) sign. All buttons are displayed below the LCD displays. Because of the large number of buttons, they are divided over two pages. To switch between the two pages press PgUp and PgDn. 5.2 Using help ============== Press the Help button to bring up the help index. Select an item you want to know more about and press Enter. Press Esc to leave help and to return to the main screen. 5.3 Using menus =============== Press the Menu key to display the top level menu. The plot module, equation database manager and the main calculator application all have different menus. 5.4 Preferences =============== The preferences can be changed by bringing up the `Set preferences' menu. This menu can be accessed by pressing Psion-Q and has three items `Keyboard', `Display' and `Modes'. After changing the preferences they will be saved to disk. Format Select between display formats. There are six formats available. The formats can also be selected by pressing Psion-F or Shift-Psion-F repeatedly. The formats HEXadecimal, OCTal, BINary and GENeral can also be selected by pressing the hot keys (Psion-H, Psion-O, Psion-B and Psion-D) for these formats. Decimals Number of decimals to show for numbers on the display. Press Tab repeatedly to select between 0 and 20 decimals. Be aware that the number of decimals applies to - representation of numbers on calculator display; - representation of numbers in solver dialog; - representation of numbers in evaluator dialog; - representation of numbers in integrator dialog. Trigonometric calculations Select between trigonometric calculations with degrees or radians. Math functions like SIN, TAN, etc. require this mode to be set correctly. Calculation mode Select between three different calculation modes: LR Linear regression mode, requires single numbers as data; SD Statistics mode, requires X,Y pairs of data; COMP Compute mode, usage of all scientific functions. Extra help mode To display a help line after each calculation is executed set this field to `On'. Immediately after you have pressed Enter or = or an unary function a help line is displayed in the lower right corner of the screen. When the `Extra help mode' is set to on, all dialog boxes used for entering equations will show the equation constraints. Decimal separator Select a comma or period as a decimal separator. If the decimal separator has been altered, the keyboard layout on the screen will be updated. This setting must be equal to the one you set in the system screen. So if you have chosen a period as decimal separator in the system screen (number format Shift-Psion-F) please select a period in Calc3a application too! To separate X- and Y-data in LR memory use the period in case you use the comma as decimal separator. Use the comma to separate if you use the period as decimal separator. Alternative keyboard This option is only for users that have a Psion with a German keyboard layout. This option swaps some keys: Function Non German German -------------------------- PI ~ z `"o ` Q MIN ^ M Parenthesis Mode for closing parenthesis. Options are: - calculate on close; - wait for . 6. CALCULATIONS =============== 6.1 Getting started =================== After the application has been launched from the system screen, the calculator main window appears. The patterned grey bar on the top of the screen contains two 'LCD displays'. The left LCD display shows the trigonometric mode (DEG or RAD), the calculation mode (SD, LR or COMP), the format used to display numbers (SCIentific, GENeral, FIXed, ENGineering, HEXadecimal, BINary or OCTal) and the contents the active memory M. The right LCD display shows results of calculations and numbers typed in by the user. All calculator buttons can be 'pressed' with single keystrokes. Each button is preceded by a single upper or lowercase character. This character can be used to activate a button and thus a math function. Calculations are performed just as you would with a stand-alone calculator. Examples ( equals to keystroke 'k') Square root of 25 : 25 10 to the power of 3 : 3 2 to the power of 5 : 25<=> Mean of 4,8,9,3,2 : 4<@>8<@>9<@>3<@>2<@><\> 25 div 4 : 254<=> 150+17.5% : 150<+>17.5<%> 10% of 1000 : 1000<*>10% While typing in a number, press Delete to erase the last digit typed . Esc clears all input. Press the Help key in the Calc3a application to read more about the usage of Calc3a. 6.2 Functions ============== The calculator has approximately 60 built-in functions. There are two types of functions: 1.Unary Function applies to one number e.g. Square root of x or Sine of x To perform an unary calculation, first type in a number, than press a unary function button. The result of this calculation is shown at the right LCD display. 2.Binary Function applies to two numbers e.g. 5+6 or x to the power of y. To perform a binary calculation, first type in the first number, than press a binary function button (operator). Type in the second number and press Enter. The result of this calculation is shown at the right LCD display. 6.2.1 Functions with two results ================================ Some functions like POL() and REC() return two results. After pressing the Enter key the result of such a function will be shown at the lower right corner of the screen for about two seconds. The first result will also be shown at the calculator LCD display. The second result is stored in the recall buffer and can be accessed by pressing the left-arrow key once. 6.2.2 Functions with temporary results ====================================== The function o`" (conversion degrees to degrees-min-sec) returns a number in the form of `degrees-minutes-seconds'. The result of such a function will be displayed on the LCD display until a key is pressed. Please refer to appendix `functions' for more about available math functions. 6.2.3 Percentage calculations ============================= Calc3a allows for simple percentage calculations: - add percentage; - subtract percentage; - calculate percentage. A percentage calculation takes the following form: <%> Operator/Description Example -------------------------------------------------- + Add percentage 100+15% >> 100<+>15<%> 115 - Subtract perc. 50-17.5% >> 50<->17.5<%> 41.25 * Calculate perc. 10% of 1000 >>10<*>1000<%> 100 6.3 Calculation examples ========================= Below are some examples of several types of calculations. Every example consists of three parts: 1. Description of example 2. Math notation 3. keyboard strokes to perform calculations. Do not type the '<' and '>' characters. Square root of 100 SQR(100) 100 Logarithm of 1000 LOG(1000) 1000 Convert 10,50 polar to rectangular REC(10,50) 10

50 17.5% of 50 50*17.5% 50<*>17.5<%> 100 plus 50% 100+50% 100<+>50<%> 2 to the power of 8 2^8 28 2 to the power of 8 2^8 8 -1.0*5 NEG(5) 5<_> Reciprocal value of sine of 50 1/SIN(50) 50 Mean of 4.5, 6.7, 2.9 and 6.7 MEAN(4.5, 6.7, 2.9, 6.7) Set calculator to SD mode (clear stat memory) 4.5<@>6.7<@>2.9<@>6.7<@><\> Correlation factor r of 10,12 11,15 12,18 14,16 r(data) Set calculator to LR mode (clear stat memory) 10<,>12<@> 11<,>15<@> 12<,>18<@> 14<,>16<@> Convert 50 decimal to binary BIN(50) 50 e (2.71....) EXP(1) 1 5-BASE log of 10 5LOG(10) 5<,>10 Function gLOG(x) is an external function in ADDON.OPO. External functions require the operands to be separated with a comma (or point for German users). 6.4 Memories ============ 6.4.1 Statistics memories ========================= The program allows for statistics calculations. A maximum of 1000 numbers can be stored in this statistics memory to be used for calculations in SD mode. Also 1000 x,y numbers can be stored in this memory when performing LR calculations. It is possible to change numbers in the statistics memory. Press Psion-Y to bring up the `Edit statistics memory' dialog. Press the left-arrow and right-arrow keys to scroll through all numbers in statistics memory. A message will be shown if the statistics memory does not contain numbers. After changing one or more numbers in statistics memory all statistic functions will use these new numbers. 6.4.2 Calculator memories ========================= Calc3a has 26 memories called MA..MZ. The M+ (Psion-+) and M- (Psion--) buttons can be used to store numbers into these memories. These memories have an initial value of 0. The current value of the active memory M is displayed on the top left LCD display. Press Psion-E to change the contents of one of the memories. Use the left-arrow and right- arrow key to select a memory to modify. 6.4.3 Recall buffer =================== The application maintains a 'recall' buffer. Each entered number and calculation result will be stored to this recall buffer. Press Psion-S to scroll through all previously entered numbers. To recall a previously entered number or result press the left arrow or right arrow key. The numbers will appear on the calculator LCD. The recall buffer has room for 50 numbers. 6.4.4 Export of memories ======================== The contents of the memories, statistics memory and recall buffer can be exported to a plain text file. Press Psion-G to bring up the `Export' dialog. It possible to select the export of: - memories A..Z and/or - statistics memory and/or - recall buffer. The contents of the different memories are written to a single text file. These files can be used to import into a spreadsheet. 7. EQUATIONS ============ Calc3a allows for entering equations. These equations are stored in a database called \OPD\CALC3A.EQN. Equations in this database can be evaluated or solved. 7.1 The equation database ========================= It is possible to set up a database with all your frequently used equations and conversion formulas. Each equation is stored with a description (max 30 characters). The equation database manager (EDM) shows up each time you want to evaluate or solve an equation. The top frame of this dialog displays the number of equations currently stored in the database and the equation itself. This equation line is updated each time you move the cursor over a new equation. The lower area of the dialog shows four buttons. The `Evaluate' button is replaced by a `Solve' button when solving equations. Keys available in the EDM: Up Move cursor one row up Down Move cursor one row down Pg-Up Move cursor one page up Pg-Dn Move cursor one page down Home Move cursor to first equation End Move cursor to last equation E or Psion-E Enter equation/description selected with cursor D or Psion-D Delete equation selected with cursor or Delete U or Psion-U Enter new equation V or Psion-V Evaluate equation or Enter S or Psion-S Solve equation or Enter MENU Bring up the equation database main menu X or Psion-X Exit equation database and return to or Esc main calculator F or Psion-F Search for equation. Searches from current cursor position to end of database. Search is case sensitive. G or Psion-G Find next occurrence 7.2 Input of equations ====================== Press Psion-U from the main calculator screen to bring up the equation database. Select an equation with the selection bar (cursor) and press U or Psion-U to modify an equation or E or Psion-E to enter a new equation. The `Equation evaluator' dialog has two fields. One is for the short description (30 characters) used as an identification for the equation. The `Equation' field contains the equation itself. This equation may be 255 characters long. [Notice the constraints!] In equations you can use: - Variables with names that only contain (a maximum of 12) alphabetical characters. The length of variable names is limited to 10 characters and must be entered lowercase; - All OPL math functions as mentioned in the Psion programming manual, function names must always be entered uppercase; Parenthesis; - Trigonometric functions, radians/degrees depending on settings in system screen. Available functions/constants for equations: ABS(x) LN(x) EXP(x) + ACOS(x) LOG(x) SIN(x) - ASIN(x) MAX(a,b) SQR(x) * ATAN(x) MEAN(a,b) STD(a,b) / COS(x) MIN(a,b) TAN(x) 5E-5 DEG(x) RAD(x) SUM(a,b) x**y INTFx) RND VAR(x) 7.3 Delete equations ==================== Press Psion-U from the main calculator screen to bring up the equation database. To delete an equation just move the cursor over the equation and press Delete, Psion-D or just D. 7.4 Evaluating equations ======================== Press Psion-U from the calculator main screen to evaluate an existing equation. Select an equation from the EDM and press V or Psion-V to execute the evaluator. The Variables/result' dialog is shown on screen. All the variables used in your equation will be shown in this dialog. If you used more than four variables in your equation use the left-arrow and right-arrow key to view/enter the other variables. Enter the contents of the variables and press Enter. The result will be displayed in the same dialog on the last line. To repeat an evaluation just change a variable when desired and press Enter. If the equation was not entered correctly (missing parenthesis, missing operators) a message will be shown on screen and the result will equal to 0. 8. SOLVER ========= 8.1 The equation database ========================= The solver uses an equation from the equation database. Please refer to chapter 5.1 for more information about the equation database manager. The solver allows for solving a single unknown variable in an equation. Therefor it uses method `Secant' to find a single solution. 8.2 Solving equation ==================== Press Psion-L from the calculator main screen to solve an existing equation. Pick an equation from the EDM and press S or Psion-S to start the solver. The Variables/result' dialog is shown on screen. Enter the values of the known variables. If you used more than four variables in your equation use the left-arrow and right-arrow key to view/enter the other variables. The variable to be solved can be set to zero. Press Enter to bring up the solver settings dialog. Unknown variable to solve Press Tab on this field to view all variables used in your equation. Select the variable to be solved from the list. Tolerance Tolerance in the result of the solving process. The smaller the tolerance the more accurate answers you get. Maximum number of iterations Maximum number of iterations to find the result. Initial guess1/guess2 Two possible values for the unknown variable. These two guesses form a X-range for the solver. Please select an range as narrow as possible to get accurate answers. The solver can be started by pressing Enter. After a few seconds (depending on the complexity of the equation) the result is shown in the Variables/result dialog. If an error occurs during the solve process the result will always equal 0. Note : Guess1X min 12. EXTERNAL MATH FUNCTIONS ========================== The Calc3a application allows for external math functions to be accessed in a OPO file. Enclosed with this package is an example OPL file that illustrates the usage of external OPL functions. In this file the procedure `Register()' must always be available. This function is used by Calc3a to determine what functions are available in the external OPO file and what hotkey must be used to access that particular function. There are several procedures available for interfacing with the Calc3a application. So, for each added function you must add a RegFunc- entry to the `Register()' procedure. Please refere to ADDON.OPL for more information. External functions may contain all OPL commands including dialogs. Please refer to ADDON.OPL for more information. If this information is insufficient, contact the author for more information about using external functions. Press Psion-Z or select PAGE_C to view all external functions. 13 DISCLAIMER ============= The author takes no responsibility for any lost data or hardware malfunctions of any kind due to the use of this software or any other software that ships with Calc3a. 14. APPENDICES ============== 14.1 Function reference ======================= +dB - add dB (decibel) - UC - B 1/X - reciprocal of x - UC - i 10^X - ten to the power of x - UCO - L 2^X - two to the power of x - UC - y A - constant term of regression a - KL - A ABS - absolute of x - UCO - a ACOS - inverse cosine of x - UCO - C AND - logical AND - UC - G ASIN - inverse sine of x - UCO - S ATAN - inverse tangents of x - UCO - T B - regression coefficient b - KL - W COS - cosine of x - UCO - c COSH - hyper cosine of x - UCO - h COTG - cotangents of x - UC - g dB - convert to decibel - UC - D DEG - convert radians to degrees - UC - J DIV - integer division - BC, - d EXP - e to the power of x - UCO - N Erg - convert to energetic - UC - E EX - sum of x - KSO - u Ex^2 - sum of square of x - KS - U FRAC - fractal part of x - UC - f INT - integer part of x - UCO - I LN - natural logarithm of x - UCO - n LOG - logarithm of x - UCO - l MAX - lowest value of x - KSO - & MEAN - mean of x - KSO - \ MIN - lowest value of x - KSO - ^ or M MOD - modulo - BC - m n - number of statistics data in memory - KS - ; nCr - combinations - BC - o nPr - permutations - BC - O NEG - negative - UC - _ NOT - logical NOT - BC - F `' '' - convert to degrees-min-sec - UC - ' or Q OR - logical OR - UC - H PI - pi 3.14... - KCO - ~ or z Pol - convert to polar - BC - p r - correlation of x,y - KL - v RAD - convert degrees to radians - UC - K Rec - convert to rectangular - BC - P RND# - random number between 0 and 1 - KCO - # SIN - sine of x - UCO - s SINH - hyper sine of x - UC - j SQR - square root of x - UCO - r STD - standard deviation of x - KSO - [ SURF - calculate surface in LR memory - KL - Z TAN - tangents of x - UCO - t TANH - hyper tangents of x - UC - k VAR - variation of x - KSO - V X! - factorial of x - UC - ! X^ - estimate x - UL - X X^Y - x to the power of y - BC - x XSQR - x th root of y - BC - q X^2 - square of x - UCO - R Y^ - estimate y - UL - Y XOR - logical XOR operation - UC - w <- - convert degrees-min-sec to degrees - UC - b Characteristics: U = unary function B = binary function C = available in COMPute mode L = available in LR mode S = available in SD mode O = standard CALC/OPL function K = constant (no argument) 14.2 Keyboard reference ======================== Menu Display menu Control-A .. Control-Z Select active memory M Psion-Control-A .. Z Store number to memory M Shift-Control-A .. Z Load number from memory M Help Display help Diamond Execute external math function in ADDON.OPO Left-arrow Recall previously entered number or result in recall buffer Right-arrow Recall next entered number or result in recall buffer Up-arrow Store number to active memory Dn-arrow or Psion-M Load number from active memory PgUp Select previous page with 60 buttons PgDn Select next page with 60 buttons Psion-Q Set preferences Psion-X Terminate Calc3a application Psion-* Clear active memory Psion-F Alter display format (GEN/SCI/FIX/ENG/OCT/BIN/HEX) Shift-Psion-F Alter display format reverse order Psion-T Alter trigonometric mode (RAD/DEG) Psion-C Alter calculation mode (SD/LR/COMP) Psion-R Register your copy of Calc3a Psion-E Edit memory M Psion-Y Edit statistics memory Psion-O Octal mode Psion-D Decimal mode (GEN) Psion-B Binary mode Psion-H Hexadecimal mode Psion-/ Bring Psion-J Plot settings Psion-K Execute XY plot Psion-S Show recall buffer Psion-+ MAIN: Add number to active memory PLOT: Enlarge visor Psion-- MAIN: Subtract number from memory PLOT: Enlarge visor Psion-U Edit equation Psion-L Evaluate equation Psion-Z List all registered external functions Psion-G Export memories Psion-A Display about screen Psion-I Constants list Psion-N Integrate Tab Toggle decimal places 0..20 Delete Delete entered digit e Exponential Esc Clear Shift-Esc Clear statistics memory = or Enter Execute binary calculation % Execute percentage calculations 14.3 FUNCTIONS IN ADDON ======================= gLOG g-base logarithm of x Hotkey: Diamond-g VecL length of vector 0,0 to x,y Hotkey: Diamond-v Poly length of polyline, all x,y pairs must be available in LR memory Hotkey: Diamond-p KeyC key and modifier code Hotkey: Diamond-k dBlist sum dB numbers in stat memory, dB values must be available in SD memory Hotkey: Diamond-d Interst Interest rate calculation, after the calculation all amounts and corresponding year numbers are in LR memory Hotkey: Diamond-i 14.4 EQUATION CONVERTER ======================= The supplied equation database CALC3A.EQN is based on a period as decimal separator. If you use a comma als decimal separator, the evaluation of equations in the database will not work. EQNCONV can be used to convert a period based equation database to a comma based one. copy EQNCONV.OPO to your \OPO\ directory, start eqnconv and follow the instructions.