Copyright: Copyright © I.I.Evsikov 1989-1996


Absolute extremum search

Button	Keystrokes	Hot key	Prompt	Function Name

min	none	min(,,)	Absolute minimum search of (..)

max	none	max(,,)	Absolute maximum search of (..)

An algorithm [2] by F. Gremmen (University of Nijmegen, Netherlands) is used. Global extremum may be found for a continuous function in the range of "low"> x< "up". If the function has too many (more than about 40) extrema within the interval, there is a risk of missing some of the extrema. In this case you may press <Enter> one more time without changing the function or limits. This halves the interval and applies the algorithm to each of the subintervals. The result is selected between absolute extrema for all subintervals. Each time you press <Enter> the number of the subintervals is doubled. Changing of the expression or/and the interval limits restores the search in only one interval.

The full syntax for absolute extremum:	min(Low,Up,expression f(X))

max(Low,Up,expression f(X))

For example, max(-10,10,-X^2+2*X+3) returns 4 and sets the value of Xmax=1 to the tab Tape.

Tab Tape line : max(-10,10,-X^2+2*X+3) = 4.0E+0; Xmax=1.0E+0


Acknowledgments
Acknowledgements

The authors would like to thank Prof. S.Smith (University of Waterloo, Canada), Mr. F. Gremmen (University of Nijmegen, Netherlands), Prof. E.Cherepanov (Joint Institute of Nuclear Research, Russia) for valuable remarks on previous ReSCu (RSC) versions and Dr. M. Gogolev (Waterloo Hydrogeologic inc.).


Arithmetic operations

Button	Keystrokes	Description

-	Subtraction or unary minus

+	Addition or unary plus

*	Multiplication

/	Division

^	Power

%	Percent

None             ( )................. Prioritizing expressions

Example: Type (16+20*4)%6.6 and press  <Enter> or [image] .


Boolean operations

Button	Keystrokes	Description

&	and

|	or

\	xor

 Example: 3 + 10 and 7

 Settings Notation -Fix (Fixed)


Color Map f(X,Y)

To draw a color-map for f(X,Y), type your formula (e.g. "X^2+Y^2" ) in the expression line and click tab Graphics. Check the Color Shading Plot f(X,Y) radio button. Set values for X min, X max, and Step value in the X range panel. Set values for  Y min, Y max, and Step value in the Y range panel. In the Names panel you can set title for the graph (by default - f(<function>)) , and axes.

Click OK button:

For changing  graphic properties click right mouse button in plot area or select Properties item from main menu.


Constants

By default 30 constants (up to 16000) are available. A value of a constant will be inserted in expression at the cursor position by clicking the constant.

To add or edit constants you should update file WiSCy.CON.  Click  [image] to call Notepad editor and [image]  to refresh constants list. The constant definitions format is:  <constant name>=<value>.

To input frequently used constant ¶ & e

Buttons	Key	Description

None	Ctrl-P	ratio of a circle's circumference to its diameter " ¶ ".

None	Ctrl-E	natural logarithm " e "


Contents

Disclaimer

How to register

WiSCy Features

WiSCy History

Expressions and Variables

User define function

Formats and Notations

Arithmetic operations

Boolean operations

Trigonometric Functions

Hyperbolic and Inverse Hyperbolic Functions

Exponential, Logarithmic and Square root Function

Numerical Integration

Special functions

Statistic functions

Solving Equations

Absolute extremum search

Polynom

Printing

Plot f(X)

Contour plot f(X,Y)

Color map plot f(X,Y)

Surface f(X,Y)

Graphic Properties

Constants

Error Messages

Tape

Acknowledgements

References


Contour plot f(X,Y)

To draw a contour-plot for f(X,Y), type your formula (e.g. "X^2+Y^2" )  in the expression line  and click tab Graphics. Check the Contour Plot f(X,Y) radio button. Set values for X min, X max, and Step value in the X range panel. Set values for  Y min, Y max, and Step value in the Y range panel. In the Names panel you can set title for the graph (by default - f(<function>)) , and axes. In the Number of contours text box you can select number of contours (10 by default).

Click OK button:

For changing  graphic properties click right mouse button in plot area or select Properties item from main menu.


Convert unit functions
Convert units functions

Button	Keystrokes	Function Name

none	in_m	Convert from inches to meters

none	m_in	Convert from meters to inches

none	ft_m	Convert from feet to meters

none	m_ft	Convert from meters to feet

none	yd_m	Convert from yards to meters

none	m_yd	Convert from meters to yards

none	ml_km	Convert from miles to kilometers

none	km_ml	Convert from kilometers to miles

none	oc_g	Convert from ounces to grams

none	g_oc	Convert from grams to ounces

none	lb_g	Convert from pounds to grams

none	g_lb	Convert from grams to pounds

none	pt_l	Convert from pints to liters

none	l_pt	Convert from liters to pints

none	gl_l	Convert from gallons to liters

none	l_gl	Convert from liters to gallons

none	br_l	Convert from barrels to liters

none	l_br	Convert from liters to barrels

none	usgl_cm	Convert from US gallons to cubic meters

none	cm_usgl	Convert from cubic meters to US gallons

none	bigl_cm	Convert from British imperial gallons to cubic meters

none	cm_bigl	Convert from cubic meters to British imperial gallons


Disclaimer

Windows Scientific Calculator (WiSCy) may be used on any IBM-compatible PC, running under Windows'95/NT. The WiSCy 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 or losses due to incorrect calculations or other malfunctions.


Error Messages

Error messages appear in the right-top corner of the result window.

Format errors messages : <Message>: position <number of error position in expression line>

Following messages can be appear:

Syntax error	Invalid function name or an operation sign omitted

Overflow	Calculation result > 1.1E+4392

Argument Error	Function is not defined for this argument value

Argument Negative	Function is not defined for the negative argument value

Average undefined	Use of standard deviation without mean value calculation

Divisions by zero	Division by zero

Too many ")",	Too many closing parentheses

Missing "("	Too many opening parentheses

Missing ")"	Missing closing parentheses

Interval Error	Function does not change sign in the interval

User break	User break during calculation

Warning  messages appear in the message box:

Do you relay want to stop calculation?(y/n)	If <Yes> then all memory will be cleared.

File <{path}\WiSCy.CNT> not found.	File with constants is not found.

Can't calculate this function	Function can't be calculated because of a wrong expression.

Do you wont clear ALL HISTORY and

ALL RESULTS memory?(y/n)	if< Yes> then all the content of the input stack and results will be lost.

Do you want clear ALL VARIABLES?(y/n)	If <Yes> then all variables will be  UNDEFIND.


Exponential, Logarithmic and Square root Function

Button	Keystrokes	Hot key	Prompt	Function Name

sqrt	Ctrl-Q	sqrt()	Positive square root of (..)

sqr	Alt-Q	sqr()	Square of a number (..)

log	Cltr-G	log()	Logarithm (..)

ln	Ctrl-L	ln()	Natural logarithm (..)

10^	Ctrl-1	10^()	10 to power of (..)

exp	Ctrl-E	exp()	Exponent

These function have accuracy of 8-12 significant digits.

Example:


Expressions

 WiSCy handles expressions up to 64000 characters such as following:

Expressions are displayed in the bottom line at the top of calculator window. Click [image] or <Enter> to calculate the expression. The result is displayed in the top of  line of the window.

Examples:

5+5.2-1/3

sin(pi/4*tan(pi/2))+integral(0,1,x)

15%4.7

$AF007	 	See Formats and Notations

sum(1,2,3,4)

(MyVariable=5.6)	See  Variables

MyFunction(a,b,c,d)  	See User Functions


Formats and Notations

Numbers are in the range from 3.4E-4932 to 1.1E+4932 with 19-20 significant digits. To change the format, angular units or notation use the following radio buttons box:

Click on Rad for radians units and on Deg for degrees.

Hexadecimal number is $XXXXXX.In binary and hexadecimal formats only the integer part of numbers is displayed

 WiSCy supports four notations: fixed point Fix, scientific Scn, engineering Eng and sexagesimal Sxg i.e. hours:minutes:seconds or degree:minutes:seconds). Any notation can be used for input. If the input and the result notations are different conversion to the current result notation will be made.

For example:

The number of displayed digits (now is 12) is controlled by [image] buttons in Digital/Operations panel.

Note: Maximum value in "Sxg" notation equals 2^19. Binary numbers larger than 2^15-1 are not correctly pasted.


Graphic Properties

Click the right mouse button in the plot area or click  button [image] or selection Properties item from main menu open the property window. If you change graphic parameties you will see the results automatically on the plot..

The Edit Plot f(X)  screen	Click the Change button in the Series tab section to change the type of curve.
The  Gallery
Select a plot type and press ‘OK’.

Edit Curve
To change properties of the Color map graphic select Color Map tab from the Edit Screen.

Edit Color Map properties
To change properties of the surface graphic select Surface tab from Edit Screen.

Edit Surface properties


History

WiSCy  v4.0 (25/1/98) for Windows'95/NT

- 2D-Plot, Color Shading, Contour Plot, 3D-plot

- Print graphics and results

- User defines variables

- New function added

This is the first Windows version of RSC (Resident Scientific Calculator for DOS)

RSC (DOS) versions 1.0 to 3.2 (3/6/88 to 9/4/96)


How to register

If you like this program and plan to use it in future, a registration fee of US$49  for a noncommercial use is applied.

After your registration fee and form received, you will be emailed or mailed your personal License Number within two working days.

Upon reception of your License number:

1.	Start unregistered version of WiSCy.

2	When the registration screen will appear, enter User Name and License Number in appropriate field exactly as provided.

3.	Click the Register button.

You also will be entitled for one free upgrade. Please mails filled registration form (see below) and enclose a check or money order payable to:

Igor I. Evsikov

E-524 Brookhaven Cres.

Waterloo, Ontario

N2L 4R7  CANADA

E-Mail : zaboy@kw.igs.net

REGISTRATION FORM:

First Name  ___________________ Last Name _____________________________

Company ____________________________________________________________

USER NAME_________________________________________________

Address______________________________________________________________

City______________________  State _________________ Zip __________________

Country _______________________________________________________________


Hyperbolic and Inverse Hyperbolic Functions

Button	Keystrokes	Hot key	Prompt	Function Name

sinh	none	sinh()	Hyperbolic sine of (..)

cosh	none	cosh()	Hyperbolic cosine of (..)

tanh	none	tanh()	Hyperbolic tangent of (..)

arcsinh	none	arcsinh()	Inverse hyperbolic sine of (..)

arccosh	none	arccosh()	Inverse hyperbolic cosine of (..)

arctanh	none	arctanh()	Inverse hyperbolic tangent of (..)

These functions have an accuracy of 12 significant digits.

Example: sinh(4.6+X) where X=5


Numerical Integration

Buttons	Keystrokes	Hot key	Prompt	Function Name

integral	Ctr -$	integral(,,)	Numerical Integration of f(X)

The definite integral of f(x) is evaluated using the 10-point Gauss formula:

                                             up

                                            ∫ f(x) dx = ∑(Wi f ( x i  ))

                                            low

where Wi and xi  are the weights and nodes of the Gauss formula. This method gives accurate results for polynomial functions up to the 19-th order.

Upper and lower limits of the integral are defined before expression. Press <Enter> to evaluate the integral.

To increase accuracy of the integral evaluation, press <Enter> one more time without changing the integrand or the limits. This halves the integration interval and applies the algorithm to both subintervals. The result is calculated by summation over all the subintervals. Each time you press <Enter> the number of subintervals is doubled. Changing of the integrand or/and the limits restores evaluation using only one interval.

The full syntax for numerical integration is:  integral(Low,Up,expression f(X))

Where Up ,Low is the interval.

For example, to integrate sin(x^2) with the interval (0,10): Settings Angle - Rad (Radians), type integral(10,0,sin(X^2) and press <Enter> or  [image].

To increase the accuracy of the result press <Enter> or [image] one more time:


Plot f(X)

To draw an XY-plot for f(X), type your formula (e.g. X^2 ) in the expression line  and click Graphics tab. Check the Plot f(X) radio button.  Under  X range, set values for X min, X max, and Step. Under Names, you can set a title,  a legend  and axes name.

To select plot color click [image] button.

Click OK button:

For changing  graph properties click right mouse button in the plot area or select Properties item from main menu.


Polynom

Buttons	Keystrokes	Hot key	Prompt	Function Name

poly	none	poly()	Evaluates a uniform polynomial of one variable at the value.

Syntax: poly(<value>,<coefficients 0>,<coefficients 1>,...,<coefficients N>)

Call poly to evaluate the polynomial function. The coefficients are ordered as follows:

<coefficients 0> + <coefficients 1>*value +<coefficients 2>*value [image] + ... + <coefficients N>*value

For example: 	poly(0.1,1,2,3,4,5,6)  is 1 + 2*0.1 + 3*0.1 [image] + 4*01 [image] + 5*0.1 [image] + 6*01

poly(Z,sin(1.2),sin(1.4),sin(1.5))  is sin(1.2) + sin(1.4)*Z + sin(1.5)*Z


Print and Save

For printing results click  Tape  page and click [image] button. To print a plot click  button [image] for select item [File] and then  [Print] from the main menu. To save a plot as a bitmap file or Windows metafile or extended Windows metafile , select item [File] and then [Save to BMP] or [Save to WMF] or [Save to EMF] correspondingly.


References

1. "Handbook of mathematical functions with formulas, graphs and mathematical tables" Edited by Milton Abramowitz and Irene A. Stegun, National bureau of standards in applied mathematics series 55, Issued June 1964.

2. F. Gremmen, private communication.


Solving Equations

Buttons	Keystrokes	Hot key	Prompt	Function Name

solve	Alt-O	solve(,,)	Solve equation of f(X)=0

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 from "low" to "up". If the equation happens to have several solutions the method gives only one of them. You can get the rest by step-by-step narrowing of the search interval. The solution process is terminated when abs(f(X)/(f(up)- f(low)) is less then 1.E-11. If necessary, the result may be improved by narrowing the search interval.

The full syntax for this function is: solve(Low,Up,equation f(X))

Where Up ,Low is the interval in which searching a solution of the equation f(X).

For example: solve(10,0,X^2.1-4)


Special functions

Button	Keystrokes	Hot key	Prompt	Function Name

Gamma	Alt-G	Gamma()	Euler gamma function of (..)

Jn	Ctrl-J	Jn(,)	Bessel function of the first kind J(..th,of ..)

In	Ctrl-I	In(,)	Modified Bessel function first kind I(..th,of ..)

Yn	Ctrl-Y	Yn(,)	Bessel function of the second kind Y (..th, of ..)

Kn	Ctrl-K	Kn(,)	Modified Bessel function of the second kind K (..th, of ..)

erf	Ctrl-R	erf()	Error function with normal distribution

Si	none	Si()	Integral Sine of (..)

Ci	none	Ci()	Integral Cosine of (..)

eFD	none	eFD(,)	Fermi-Dirak function(..th, of..)

The Gamma function has an accuracy of 15 digits (d < 10^-16). Bessel functions have accuracy of 7 digits (d < 3.0^10-7). The error function has an absolute error value of eps < 10-9. Si, Ci functions have an absolute error value less then < 3.0^10-7.

Example: 1+Jn(5.4)

For calculating the Bessel function the integral representation is used. The algorithm was tested for all supported Bessel functions in the interval 0 < nu < 100, 0 < z < 100 using [1]. The test results are shown in the diagram below:


Statistical functions

Button	Keystrokes	Hot key	Prompt	Function Name

mean	Ctrl-M	mean()	Mean value from an array

std	Ctrl-D	std()	Standard deviation from an array

stat	none	stat()	Statistical variance from an array

sum	none	sum()	Sum of the elements from an array

Syntax all function contains array is <function name>(<value 1>,<value 2>,...<value N>).

Button	Keystrokes	Hot key	Prompt	Function Name

random	Alt-R	random	Random number in [0..1]

gauss	none	gauss(,)	Random numbers with Gaussian  distribution(Mean,StdDiv)

The stat function (total variance) calculate the sum of the squares of the difference between each < value i> and the mean of the data values:

 N

S((X(i) - Mean)²)

i=1

The std function calculates the sample standard deviation (the square root of the sample variance) of all values in the  array parameter.

The mean function calculate the arithmetic average of all the values in the  array.

For example to calculation of mean value, standard deviation and total variance of 1.11, 2.22, 3.33, 4.44 type: mean(1.11,2.22,3.33,4.44) or std(1.11,2.22,3.33,4.44).or stat(1.11,2.22,3.33,4.44).

Function random returns a uniformly distributed random number in the interval 0-1.

The gauss function returns a random number with the Gaussian distribution around the Mean. This is useful for simulating data with sampling errors and expected deviations from the Mean.


Suface f(X,Y)
Surface  f(X,Y)

To draw a surface for f(X,Y), type in expression line your formula (e.g. "X^2+Y^2" ) and click tab Graphics. Check the Surface f(X,Y) radio button. Set values for X min, X max, and Step value in the X range panel. Set values for  Y min, Y max, and Step value in the Y range panel. In the Names panel you can set title for the graph (by default - f(<function>)) , and axes.

Click OK button:

For changing  graphic properties click right mouse button in plot area or select Properties item from main menu.3D-plot.


Tape

All results of current the session is stored in the Tape page. Results can be Printed, saved To a file or  copy/cut to the clipboard.


Trigonometric Functions

Button	Keystrokes	Hot key	Prompt	Function Name

sin	Ctrl-S	sin()	Sine of (..)

cos	Ctrl-C	cos()	Cosine of (..)

tan	Ctrl-T	tan()	Tangent of (..)

arcsin	Alt-S	arcsin()	Arc sine of (..)

arccos	Alt-C	arccos()	Arc cosine of (..)

arctan	Alt-T	arctan()	Arc tangent of (..)

The trigonometric functions have an accuracy of 12 significant digits.

Examples:


User defined functions

To define functions, click  tab User funcs, type in the Name text box a name of  function  and  one or more arguments, type in the Expression text box an expression which represents the definition of the function. and click Add/Modify button. You can also Delete function from list box, Save functions to a file and Load functions from a file.


Variables

Symbols X,Y,Z,V,W,I,J,K,M,N may be used in expression as variables. To assign value to variable, press buttons  [image] with checked eval check box. A variable, in turn, may be defined by another expression. To view or edit symbols variables click tabbed page Variables.

To change/assign variables type in  Expression text box a value of variable or a expression and click corresponding Calculate or Calculate All  button. You can also Save variables to a file and Load variables from a file. You have possibility to change/assign the value of a variable inside a expression. To change/assign a value to a variable in the expression line type:

 (<variable name>=expression)

for example:

 sin((X=pi/2))/2.

Any user defined name (e.g. myvariable, a, b, c etc.) may be used in an expression as a variable. To assign a value to a variable, click  tab User Variables,

type in the Name text box a name of variable type in the Expression text box a value of variable or an expression (e.g. 1.6 or 1+0.6 or sin(X)).and click Add/Modify button. You can also Delete variables from list box, Save variables to a file and Load variables from a file. You have a possibility to change/assign a value of a variable inside the expression. To change/assign a value to a variable in the expression line, type:

(<variable name>=expression)

for example:

 sin((myvariable=sin(Y/3)))/2.

A menu with the last up to 16000 expressions and results may be invoked by clicking [image] in the end of the expression line or result line. Move the cursor to the desired expression and click on it. The expression is then copied to the expression line of the calculator window. All expressions and results are saved to WISCY.HST file before closing WiSCy.


WiSCy Features

WiSCy (Windows Scientific Calculator) is the most complete and easy-to-use scientific calculator. The results of calculation can be visualization, printing as graphic, as text or saving to disk.

      - Arithmetic operators

      - Logical operators

      - Common functions such as exp, ln, sqrt, sqr etc.

      - Trigonometric, Hyperbolic  functions

      - Numerical Integration

      - Equations can be solved

      - Special functions (Gamma, Bessels, Si, Ci, erf)

      - Statistic functions (Average, Standard deviation, Sum, Random, Gauss random, statistical variance )

      - FOR-NEXT-type loop

      - Tape of results

      - Debug: Error position fixed

      - Plot f(X), Contour Plot f(X,Y), Color Shading  f(X,Y), 3D-Plot f(X,Y)

      - Print results, graphics and print preview

      - Save graphics to BMP, WMF, EMF formats

      - Decimal, Hexadecimal and Binary bases

      - Fixed point, Scientific, Engineering and Sexagesimal notations*)

      - Radian and Degree modes for trigonometric functions

      - Precision: 10-12 significant digits.

      - Range: _(3.4E-4392 to 1.1E+4392)

      - User define functions

      - 10 pre defined variables, user define variables

      - 30 user defined constants (up to 16000), search and edit file with constants.

      - Stack for expressions (up to 16000)

      - Stack for results (up to 16000)

*) (i.e., result in the form hours:minutes:seconds or degrees:minutes:seconds) notations