File RSC300.ZIP from The Programmer’s Corner in
Category Science and Education
Resident Scientific Calculator, shareware from Russia.
File Name File Size Zip Size Zip Type
RSC.CFG 3258 3223 deflated
RSC.DOC 32377 9186 deflated
RSC.EXE 50753 49417 deflated
RSC.REG 1568 504 deflated

## Contents of the RSC.DOC file

***********************************************
*********** RSC 3.00 ************
**************** Resident Scientific Calculator ****************
**************** ****************
**************** Sergey Shmakov & Igor Evsikov ****************
**************** ****************
*********** March 1993 ************
***********************************************

CONTENTS
--------
1. Introduction
2. RSC Features
3. Installation
5. Expressions
6. Numerical Bases and Notations
7. Arithmetic operations
8. Boolean operations
9. Functions
9.1 Trigonometric Functions
9.2 Exponential, Logarithmic and Square root Functions
9.3 Special functions
9.4 Hyperbolic and Inverse Hyperbolic Functions
9.5 Numerical Integration
9.6 Statistical functions
10. Constants
11. Other keys
12. Edit keys
13. Error messages
14. Disclaimer
15. Registration
16. Acknowledgments

1. Introduction
------------

Resident Scientific Calculator (RSC) is intended for scientific
calculations and can be used on any IBM-compatible PC equipped
with EGA/VGA/CGA or Hercules card and hard disc, running under
DOS 3.3+. The program uses about 160 Kb of disc space or EMS/XMS
(if present) for swapping. The resident part of the program is

RSC can handle expressions up to 255 symbols in length.Expressions
are written in a form similar to the customary mathematical one.
Expressions such as the following can be computed:

cos(Z)+(?+tg(ln(Y)))/exp(sin(pi/10))-integral(1+cos(X))

2. RSC Features
------------
- Line editor with expressions recall (last 10 expression)
- Hot key Function prompt
- Debug: Error position fixed
- Decimal, Hexadecimal and Binary bases
- Fixed point, Scientific, Engineering and Sexagesimal *)
- Radian and Degree modes for trigonometric functions
- Precision: 10-12 significant digits.
- Range: (3.4E-4392 to 1.1E+4392)
- Trigonometric functions
- Hyperbolic functions
- Numerical Integration
- Equations can be solved
- Arithmetic operators
- Logical operators
- Special functions (Gamma, Bessels, Si, Ci, erf)
- Statistic functions (Average, Standard deviation)
- Common functions such as exp, ln, sqrt, etc.
- FOR-NEXT-type loop
- 10 user defined variables
- 10 user defined constants
- Hard Copy
- Stack for expressions
- Stack for results (last 100)
- Variables, Expressions and Results map
-------------------------------------
*)
(i.e., result in the form hours:minutes:seconds or
degrees:minutes:seconds) notations
-------------------------------------

The basic control keys are shown on the RSC panel, its layout is
presented below(Upper-ASCII characters are replaced by as similar
as possible Low-ASCII ones for printing)

.--------------------------- ver 3.00 -.
|.- BASE -------notation------angmode-.|
|| Result Error messages ||
|| <-------Expression region--------->||
|`------------------------------------'|
| help-(F1) map-(F2) clr-(F3) clm-(F4) |
|----- function --- mode --- Display --|
| sn-S as-^S Sf- \$|dec?F5| notation-F10|
| cn-O ac-^O - !|hex?F6| */^+-&|\%.?:|
| tg-T at-^T sq- Q|bin?F7|--- exits ---|
| ln-L ex-^L cn-^C|deg?F9| paste - R |
|----- move ---------------------------|
|,<>,v,^ TAB-lastr, pusH/Pop str|
`--------------------------------------'
Hold down the key to see a second screen of information

.--------------------------- ver 3.00 -.
|.- BASE -------notation------angmode-.|
|| Result Error messages ||
|| <-------Expression region--------->||
|`------------------------------------'|
| help-(F1) map-(F2) clr-(F3) clm-(F4) |
|----- function --- mode --- Display --|
| sh-S hs-^S ef- \$|dec F5| notation-F10|
| ch-O hc-^O Si- !|hex F6| */^+-&|\%.?:|
| th-T ht-^T Ci- Q|bin F7|--- exits ---|
| In-L Kn-^L cl-^C|deg F9| paste - R |
|----- move ---------------------------|
|,<>,v,^ TAB-lastr, pusH/Pop str|
`--------------------------------------'

Hold down the key to see a third screen of information

.--------------------------- ver 3.00 -.
|.- BASE -------notation------angmode-.|
|| Result Error messages ||
|| <-------Expression region--------->||
|`------------------------------------'|
| help-(F1) map-(F2) clr-(F3) clm-(F4) |
|----------- misc Function ------------|
| Average -(Alt-A) For cycle-(ALt-F) |
| St.Dev. -(Alt-D) sEtup -(Alt-E) |
| + digit -(Alt-+) Popresult-(Alt-P) |
| - digit -(Alt--) savesTack-(Alt-T) |
| History -(Alt-H) viewstaCk-(Alt-C) |
| set var -(Alt- X,Y,Z,V,W,I,J,K,M,N) |
| (c) CopyRight by I.Evsikov&S.Shmakov |
`--------------------------------------'

The position of the calculator display can be adjusted by the
and arrow keys or by the and
chords. Screen modes 132x25, 132x43, 80x43(50)
(as, for example, with Ultravision installed) are also supported.

3. Installation
------------

The archive RSC300.ZIP contains:

RSC.EXE - Version of the calculator
RSC.DOC - This file.
RSC.CFG - Defualt config file (autocreate)
RSC.REG - Registration File.

Copy the files RSC.EXE to a directory defined in the PATH
directory). For changing colors and/or hot-key of the RSC use
keys.

4. Getting started RSC
-------------------

To begin RSC, type the following command at the MS-DOS command
prompt:
>RSC

You will see a label:

Resident Scientific Calculator
by S.Shmakov & I.Evsikov.
UNREGISTERED COPY
To PopUp press < Ctrl-Alt-C >.

To recall RSC in any programs, editors etc. press the
keys and simultaneously.

The full syntax of command line to load RSC is:

>RSC [/Spath] [/Fpath] [/Efile] [/Cfile] [/Dfile] [-X] [-E]

/Spath ... the swap-file directory. By default, expanded (EMS)
or extended (XMS) memory, or RAM disk are used (if
presented). Otherwise, current directory is used.

/Fpath ... path to RSC.CFG, if the configuration file is not
in the same directory in which the executable file
is situated.

/Efile ... filename containing expressions with which to
initialize the RSC stack.

/Cfile ... filename of a user defined constant file. This file
can contain up to 10 of constants, of the form:
=.
For example:
Pi=3.1415926535919
e=2.7182811828459

/Dfile ... the full path and file name of the HARDCOPY file. To
print the output rather than store it to a file,
use PRN or LPT1.

/W ... DOS window application under WINDOS 3.1

-X ... prevents the use extended memory for swapping, even
if extended memory is available.

-E ... prevents the use expanded memory for swapping,
even if expanded memory is available

/? - mini-help.

5. Expressions
-----------

Expressions appear on the bottom line of the RSC display and can be
edited/corrected during calculation. You can insert the result of the
previous calculation in the current expression (using "?" key), as well
as the values of up to 10 user defined constants. Result occurs in
the top line of the RSC display.

Expressions can make use of the symbols I,J,K; M,N; V,W,X,Y,Z. (must
be upper case) as variables. To assign a value to a variable, use key
chord - where "" is one of the 10 valid symbols for
variables. If you used an undefined variable in an expression, you will
be prompted during calculation of the expression to define the
variable. The variable, in their turn, can be defined by another
expression.

The last 10 typed expression can be reused by pressing the key
chord - (or -) keys. This brings up a menu of
(up to) the last 10 expressions used (simple arithmetic
expressions are not saved); move the light bar to the desired
expression and press ; the expression will be copied to
the expression line of the RSC display. Besides, up to 10
expressions can be saved/restored to/from the cyclic expression
stack. When RSC is first loaded, the expression stack can be
initialized from the external file. As well, the stack can be
whenever saved to a file. A session can be HARDCOPied (see below
option /D in command line) to printer or an external file. After
some editing, these files can be used as input for another
session.

Examples:
3-5+4.61
(5-arcsin(0.4561))^2.1+sqrt(lg(25))+sin(Y/7)
Ln(2)-solve(3*x^2+2*x-32)
(?+tg(ln(Y)))/exp(sin(1.5/10))-integral(1+cos(X))

6. Numerical Bases and Notations
-----------------------------

The range of numbers is approximately 3.4E-4932 to 1.1E+4932
with 19-20 significant digits.

For changing of the base, angular measure and notation use

Key Switches
F5 ... switch to decimal format
F6 ... switch to hexadecimal format
F7 ... switch to binary format
F9 ... switch to degrees
F10 ... switch notation (fixed point, scientific,
engineering, sexagesimal)

In the binary and hexadecimal format only integer part of the
numbers is displayed.

Calculator enables use of four notations: fixed point -
fix, scientific - sci, engineering - eng and sexagesimal - sxg
(i.e., result in the form hours:minutes:seconds or
degrees:minutes:seconds). The current notation mode is displayed
in the center of the RSC display. Any notation can be used for
input independently of the current result mode. If the input and
result notation differ one from another the conversion to the
current result notation will be made.

For example:
.- dec ---------- fix --------- rad -.
| 0.66666666667 |
| 2/3 |
`------------------------------------'
Keystrokes: <2><3>
.- dec ---------- sci --------- rad -.
| 6.6666666667E-01 |
| 2/3 |
`------------------------------------'
Keystrokes:
.- dec ---------- eng --------- rad -.
| 666.66666667E-03 |
| 2/3 |
`------------------------------------'
Keystrokes:
.- dec ---------- sxg --------- rad -.
| 0:40:0 |
| 2/3 |
`------------------------------------'
Keystrokes:

The number of displayed digits is controlled by <->,
<+> keys.

7. Arithmetic operations
---------------------

Key Description
+ ... Addition or unary plus
- ... Subtraction or unary minus
* ... Multiplication
/ ... Division
^ ... Power
% ... Percentage
() .. Prioritize an expression

Example: (16+20*4)%6.5
.- dec ---------- fix --------- rad -.
| 6.24 |
| (16+20*4)%6.5 |
`------------------------------------'
Keystrokes: (16+20*4)%6.5

8. Boolean operations
------------------

For Boolean operations, the fractional part of the numbers is
ignored.

Key Description
& ... and
| ... or
\ ... xor

Example: 3+10&7
.- dec ---------- fix --------- rad -.
| 5.0 |
| 3+10&7 |
`------------------------------------'
Keystrokes: 3+10&7

9. Functions
---------

Expressions can contain trig functions, 10^X, exp, A^X, gamma,
integral, statistic functions, hyperbolic functions, integral,
Bessel functions and FOR-NEXT-type loop. To save typing, they are
entered by the corresponding shortcut keys. Trigonometric
functions can accept arguments expressed in radians and degrees;
the angular mode is set by function keys F8 and F9. The current
angular mode is displayed in the right corner of the RSC display.

9.1 Trigonometric Functions
-----------------------

Keys Prompt Function Name
S ... sin() ..... Sine of expression (..)
O ... cos() ..... Cosine of (..)
T ... tn() ...... Tangent of (..)
Ctrl-S ... arcsin() .. Arc sine of (..)
Ctrl-O ... arccos() .. Arc cosine of (..)
Ctrl-T ... arctn() ... Arc tangent of (..)

.- dec ---------- sci --------- rad -.
| 1.0E+00 |
| sin(3.1415926536/2) |
`------------------------------------'
Keystrokes: /2
o
Example: sin(45 30'15") in Degrees
.- dec ---------- sci --------- deg--.
| 7.133014188E-01 |
| sin(45:30:15) |
`------------------------------------'
Keystrokes: /2

9.2 Exponential, Logarithmic and Square root Functions
--------------------------------------------------

Keys Prompt Function Name
Q ... sqrt() .... Positive square root of (..)
G ... lg() ...... Natural (base e) logarithm (..)
L ... ln() ...... Common (base 10) logarithm (..)
Ctrl-G ... 10^() ..... Number 10 raised to the (..)th power
Ctrl-L ... exp() ..... Number e raised to the (..)th power

Example: exp(1.4)+ln(2)
.- dec ---------- eng --------- rad -.
| 4.748347147E+00 |
| exp(1.4)+ln(2) |
`------------------------------------'
Keystrokes: 1.4+2

9.3 Special functions
-----------------

Keys Prompt Function Name
! ... () ....... Gamma function of (..)
Shift-Ctrl-X ... fact() .... Factorial of (..)
Shift-G ... Jn(,) ..... Bessel function J (..th, ..)
Shift-L ... In(,) ..... Bessel function I (..th, ..)
Shift-Ctrl-G ... Yn(,) ..... Modify Bessel function Y (..th, of ..)
Shift-Ctrl-L ... Kn(,) ..... Modify Bessel function K (..th, of ..)
Shift-F ... erf() ..... Error func associated w/normal distribution
Shift-D ... Si() ...... Integral Sine of (..)
Shift-Q ... Ci() ...... Integral Cosine of (..)

Example: 1+J (5.5)
4 .- dec ---------- sci --------- rad -.
| 1.3967167574E-01 |
| 1+Jn(4,5.5) |
`------------------------------------'
Keystrokes: 1+45.5

For calculating The Bessel's function integral representations
were used. The calculation algorithms were tested for all
available Bessel functions in the region 0 <= nu <= 100, 0 <= z
<= 100 using "HANDBOOK OF MATHEMATICAL FUNCTIONS with formulas,
graphs and mathematical tables" Edited by MILTON ABRAMOWITZ AND
IRENE A. STEGUN, National bureau of standards applied
mathematics series 55, Issued June 1964. The testing results are
shown in the diagram below.

stands for correct (within 7 significant digits) result,
x - no data,
- - calculation failed.

- , x - , -

J (z) Y (z) I (z) K (z)
nu nu nu nu
nu nu nu nu
100xxxxxxx- 100xxxxxxx 100xxxxxxx 100x--xx-xxxx---
50xxxxxxx- 50xxxxxxx 50xxxxxxx 50x--xx-xxxx---
40xxxxxxx- 40xxxxxxx 40xxxxxxx 40x--xx-xxxx--
30xxxxxxx- 30xxxxxxx 30xxxxxxx 30x-xxxxxx--
20xxxxxxx- 20xxxxxxx 20xxxxxxx 20xxxxxxx-
15- 15 15 15-
10 10 10 10-
8 8 8 8-
6 6 6 6-
4 4 4 4-
2 2 2 2-
1 1 1 1-
0 0- 0 0--
1 1 1 1
150 150 150 150
Z 0123456789000 Z 0123456789000 Z 0123456789000 Z 0123456789000

9.4 Hyperbolic and Inverse Hyperbolic Functions
-------------------------------------------

Keys Prompt Function Name
Shift-S ... sinh() ..... Hyperbolic sine of (..)
Shift-O ... cosh() ..... Hyperbolic cosine of (..)
Shift-T ... tanh() ..... Hyperbolic tangent of (..)
Shift-Ctrl-S ... asinh() .... Hyperbolic arc sine of (..)
Shift-Ctrl-O ... acosh() .... Hyperbolic arc cosine of (..)
Shift-Ctrl-T ... atanh() .... Hyperbolic arc tangent of (..)

Example: sinh(4.6+X) where X=5
.- dec ---------- sci --------- rad -.
| 7.382390749E+03 |
| sinh(4.6+X) |
`------------------------------------'
Keystrokes: 4.6+x5

Example: sinh(4.6+X) where X=3
.- dec ---------- sci --------- rad -.
| 9.990976973E+02 |
| sinh(4.6+X) |
`------------------------------------'
Keystrokes: 3

9.5 Numerical Integration
---------------------

Keys Prompt Function Name
\$ ... integral() . Numerical Integration of f(X)

This approximates the value for the definite integral of f(X),
using 10-point Gaussian formula:
10
integral = sum(W * f(X ))
i=1 i i
where W and X are the weights and nodes of the Gauss formula.
i i
This procedure gives accurate results for the polynomial
functions up to the 19-th order.

Upper and lower limits of the integral are defined throw the
and keys, respectively. If the limits are not
defined you will be prompted to define them. The variable X is
used as integration variable but its value in previous expression
is retained.

To improve the accuracy of the integral, press again
without changing the integrand and limits. This will halve the
integration interval and apply of the algorithm to each interval;
the result is calculated by summation over all subintervals. Each
time your press the number of the subintervals is
doubled. Changing of the integrand or/and limits of integration
will restore the evaluation interval to one.

For example, to integrate sin(x)^2 in the limits (0,10):
.- dec ---------- sci --------- rad -.
| Previous result |
| integral(sin(X)^2) |
`------------------------------------'
Keystrokes: \$sx^2

After pressing you will be prompted to enter low integral
limit:
.- dec ---------- sci --------- rad -.
| Previous result |
| low=0 |
`------------------------------------'
Keystrokes: 0

After input you will be prompted to enter up integral
limit:
.- dec ---------- sci --------- rad -.
| Previous result |
| up=10 |
`------------------------------------'
Keystrokes: 10
.- dec ---------- sci --------- rad -.
| 4.7716849E+00 |
| integral(sin(X)^2) |
`------------------------------------'
To improve result simply press :
.- dec ---------- sci --------- rad -.
| 4.77176369E+00 |
| integral(sin(X)^2) |
`------------------------------------'

9.6 Statistical functions
---------------------

Keys Prompt Function Name
Alt-A ... x .......... Mean value
Alt-D ... d .......... Standard deviation
Ctrl-X ... random() ... Random number in [0..(..)]

Example: calculation of the mean value and standard deviation of
1.11, 2.22, 3.33, 4.44:
.- dec ---------- sci --------- rad -.
| Previous result |
| x |
`------------------------------------'
Keystrokes:
.- dec ---------- sci --------- rad -.
| Previous result |
| x= |
`------------------------------------'
Keystrokes:
.- dec ---------- sci --------- rad -.
| 1.11 |
| x= |
`------------------------------------'
Keystrokes: 1.11
.- dec ---------- sci --------- rad -.
| 1.665 |
| x= |
`------------------------------------'
Keystrokes: 2.22
.- dec ---------- sci --------- rad -.
| 2.22 |
| x= |
`------------------------------------'
Keystrokes: 3.33
.- dec ---------- sci --------- rad -.
| 2.775 |
| x= |
`------------------------------------'
Keystrokes: 4.44
- end of input data

.- dec ---------- sci --------- rad -.
| 1.433003838E+00 |
| s |
`------------------------------------'
Keystrokes:
_
Both x and s can be used in a similar way as variables.
x
_
It should be noted, however, using of x in an expression
forces new procedure of the average value calculation, while
simply inserts the corresponding standard deviation in
the expression.

9.7 Solving Equations
-----------------
Keys Prompt Function Name
Shift-Ctrl-C ... solve() .... solves an equation of f(X) = 0

This returns a solution of the equation.

The algorithm used in this program for solving equations is the
bisection method. A solution can be found for continuous functions
in the range low <= x <= up, only if f(low) <= 0 <= f(up). If the
equation happens to have several solutions the method give only
one of them. You can get the rest ones by step-by-step narrowing
of the search interval.

Examples:

Keystrokes: 1-x-0.5
.- dec ---------- sci --------- rad -.
| Previous result |
| 1-solve(sin(X)-0.5) |
`------------------------------------'
Keystrokes: 0
.- dec ---------- sci --------- rad -.
| Previous result |
| low=0 |
`------------------------------------'
Keystrokes: /2
.- dec ---------- sci --------- rad -.
| Previous result |
| up=3.141592653/2 |
`------------------------------------'
Keystrokes:
.- dec ---------- sci --------- rad -.
| 4.764012322E-01 |
| 1-solve(sin(X)-0.5) |
`------------------------------------'

10. Constants
---------

Key Description
Ctrl-P ... constant "pi"
Ctrl-E ... constant "e"

By defualt You can used 10 constant from consant menu. Constant
insert in expression to cursor position.

Constants
0 pi ....... 3.1415926536
1 e ........ 2.7182818285
2 Euler .... 5.7721566E-01
3 GeV*Fm ... 5.0676531698
4 h/2pi .... 1.0545919E-27
5 Compton e. 3.861592E-11
6 Compton p. 1.3214409E-13
7 Ridberg .. 1.0973731E+05
8 Bohr R ... 5.2917715E-09
9 Electron R 2.817939E-13
Exit-Esc CGS

To redefine constants You must create a file containing up to 10
of constant's definitions in the form :

=

For example:

Pi=3.1415926535919
e=2.7182811828459

- load RSC with next param:

>RSC /CFileName

- where FileName is Name of File definded connstants.

11. Other keys
----------

Key Description
F1 ... summary Help
F2 ... show the variable definitions and
result stack (the last 100 results are
kept on the stack and can be pasted to
the calculator window)
F3 ... clear the RSC display
F4 ... clear the RSC variables
Viewer, ...)
U ... Unload RSC (No other resident
programs must have been installed
AFTER RSC)
R ... paste result to cursor position
TAB ... restore the last expression
H ... pusH expression to the RSC expression
stack
P ... Pop expression from the RSC expression
stack

or ... activate the history menu

or ... activate the stack menu
... save stack of expressions

12. Edit keys
---------

All expression editions my be executed with next hot-keys:????

Key Description
... move cursor one symbol left
... move cursor one symbol right
... delete symbol under the cursor
... insert/override mode
... delete symbol before cursor
... move cursor one word right
... move cursor one word left
... delete the word after cursor

13. Error Messages
--------------

The error mesages appear in the right side of top screen line. The
cursor positions to the causing error symbol(s), which are
blinking. Press any key to remove error message.

Syntax error ............ Invalid function name or an operation
sign omitted

Overflow ................ Calculation result > 1.1E+4392

Stack overflow .......... Too many nested functions

Scale Overflow .......... Expression length is more then 255 chars

No possibility .......... No possibility to unload calculator due
to another (TSR) program loaded after RSC

Argument Error .......... Function is not defined for this
argument value

Argument Negative ....... Function is not defined for the negative
argument value

Average undefined ....... Attempt to use the standard deviation
without the mean value calculation

Division by zero ........ Division by zero

Empty ................... Expression stack is empty

Too many ")" ............ Too many closing parenthis

Missing "(" ............. Too many opening parenthis

Missing ")" ............. Missing closing parenthis

String stack saved ...... Informative message: expression stack is
written to file

"," expected ............ Function requires 2 arguments

Interval Error .......... sign( f(Low_boundary)) = sign( f(Up_boundary))

User break .............. User break during calculations

The error and worning mesages appear to start RSC:

File not correct ... Wornig! Start.
Unable to install RSC! ... Break.

14. Disclaimer.
-----------

The Resident Scientific Calculator (RSC) is provided on an "as
is" basis without warranty of any kind, expressed or implied.
The person using the software bears all risk as to the quality
and performance of the software. The author will not be held
liable for any special, incidental, consequential, direct or
indirect damages due to incorrect calculations or other
malfunctions.

15. Registration.
-------------

If you like this program and continue to use is, a registration
fee is US\$10 for noncommercial use. When registered, you will
receive via e-mail conversion code to remove "UNREGISTERED COPY"
message, full support and are entitled to a free upgrade.
registration form (see RSC.REG) and enclose CASH (I am not sure
that I would be able to release check or money order in Russia) to:

Igor Evsikov
LCTA, JINR, (Dubna)
PO Box 79, Head Post Office
Moscow 101000
Russia

We will try to extend support to unregistered users during
their evaluation period. However, we reserve the right to limit
support for unregistered users if their requests become taxing.

********************* Technical Support *************************
**** Questions and comments can be sent to us via e-mail ****
**** [email protected] ****
*****************************************************************

16. Acknowledgments.
----------------

We would like to thank the following people:

Prof. Stephen Smith University of Waterloo (Canada)
Dr. Eugen Cherepanov Join Institute of Nuclear Research (Russia)
Prof. D. W. O. Heddle University of London (UK)

for valuable notes on previous RSC versions.