Dec 122017

Resident Floating Point Scientific Calculator. | |||
---|---|---|---|

File Name | File Size | Zip Size | Zip Type |

FCA.DOC | 49098 | 15555 | deflated |

FCA.EXE | 34758 | 19239 | deflated |

# Download File RFA24.ZIP Here

## Contents of the FCA.DOC file

FCA 2.4

Resident Floating Point Scientific Calculator

by

Bob Eyer

[73230,2620]

May 10, 1992

SHAREWARE NOTICE and TERMS

The content of this archive is shareware: if you think it's a

worthy addition to your personal software, you might make a

contribution to the author. In return for your contribution you

will receive the most recent updates of the items mentioned in the

list below.

Simply purchase a money order from your bank in the amount of $20

US made out to Bob Eyer and send with your return address to:

Bob Eyer

1100 Bloor Street West

Suite 16

Toronto, Canada M6H 1M8

Please mention in your accompanying note whether you wish 5.25" or

3.5" diskette format, and state the name in which you wish

registration-only utilities to be registered.

Do not send checks. Checks cause problems across international

borders which make them unsuitable for small purchases by mail

order. Checks will be returned with your order unfilled.

Enquiries may be placed by writing directly to the author via

Easyplex at Compuserve [73230,2620].

Warranty and Disclaimer:

-----------------------

The author, Bob Eyer, of this and all items below guarantees the

physical integrity of the diskette covering the points above, and

will replace free of charge, if it is received defective.

However, in no case will the author be responsible for any damages

due to loss of data or any other reason. In no event does the

author's liability for any damages exceed the price paid for the

buyer's order of this software, regardless of the form of the

claim. The person using the software bears all risk as to the

quality and performance of the software.

DESCRIPTION OF PROGRAMS YOU WILL RECEIVE FOR YOUR CONTRIBUTION

--------------------------------------------------------------

The items listed below, except the ones with asterisk in the left

margin, are registered to you personally. As personally

registered to you, these particular copies may not be distributed

without the author's consent. Names of programs falling into this

category are all versions of MG, versions of SPC after SPC 5.4,

all versions of HOST, CA, and FCA. These programs may be freely

circulated only in their 'shareware' form. Versions of these

programs which are personally registered to the user must not be

so circulated. When you place an order by making your shareware

contribution under these terms, you are agreeing to abide by this

principle.

The asterisked items mentioned below are in fact collections of

new versions of Eyer utilities, most of the older versions of

which were posted separately. They have been combined into

packages in order to simplify processing orders at this end.

MG 3.0

------

Moving average ASCII graphing program. Especially designed for

obtaining graphic updates on stock-market activity in practical

trading environments, in which it is essential that the user get a

quick graph immediately, with points of the graph directly

associated with the numerical and other text information which

these points represent (a feat impractical in Lotus graphics).

Designed to be used with SETV in the SUTL package.

SPC 5.5

-------

Multidrive columnar drive report, with fairly complete description

of your machine including communications, important chips,

printer, BIOS, memory, processor and coprocessor speed,

multitasking, networking, and so on, all in one single snapshot.

New version doubles the amount of information on each

communications port and displays the information in columnar mode

above the drive report, adds an environment usage readout as well

as a new P parameter to pause the PRINT multiplexer, when it is

used to feed data to your printer. (DOS PRINT lacks a pause

command).

HOST 2.4

--------

Provides a simple BBS host for occasional use. Fully

configurable, but capable of being run 'right out of the box',

HOST provides ringback, file transfer, mail, chat, userlog, shell,

and much more - in an executable only 30K in size. Version 2.4

adds options to limit medium speed noise filtering, and

facilities for reading in the user's own list of file protocols.

CA 2.4

------

7-function fixed point TSR calculator with formatted displays and

scientific notation for direct paste to text. Also has

accumulator. Four mode groups. About 13K of memory.

FCA 2.4

-------

Memory resident calculator with formatted displays and direct

paste to text, minimum screen overlay. 29 functions, including

trig, factorials & combinations, mean & standard deviation,

regression analysis, binomial, Poisson, normal, and Student

distributions. Six mode groups. FCA is the most sophisticated

calculator in the business for its size. 39K of memory.

* FUTL 2.0

--------

A collection of file processing utilities including -

CHG 2.8 - File/directory attribute/date/time reader/changer

ELIM 2.6 - Replacement for DOS DEL

FVER 2.1 - BBS file list verifier - automatic, redirectable

MV 2.8 - File mover, large improvement over MV 2.6.

MVA 2.1 - BBS file mover, reads from list, uses download path

OTL 3.0 - Operation to List, generalisation of MVA, for BBSes

RNF 2.2 - Puts special flags on filenames

SWP 2.0 - Single level sweep program, faster than SWEEP.COM

TYME 2.3 - Program execution timer

WD 2.6 - Applies wildcard to any program

Each is the best and smallest in the business for what it does.

* SUTL 2.2

--------

A collection of small utilities covering batch file, diagnostic,

communications analysis, file, video, and other areas, including

AL, CFIX, DOSV, DTR, EL, EMS, KALL, LF, PAUZ, PF, PORT, RING, RTS,

SETV, SS, and TSTF. Includes a number of very useful memory

resident programs, such as AL(alarm) and PORT(analyser). Colour

fix for SS, some new programs such as a very small keystroke

counter.

* TUTL 2.1

--------

A collection of text-processing utilities, including ADD, CBRO,

CITM, COMB, DIV, ESRT, LCNT, REV, and SPLT. Except for LCNT (a

very fast wildcarded text linecounter), these programs cover

important ground in text processing for which there exists no

other alternative in the shareware market. Users who do much

work with ASCII text should not be without these utilities.

WARNING: THIS SOFTWARE MAY NOT WORK PROPERLY WITH CERTAIN

APPLICATIONS. SEE CAUTION BELOW.

Help screen

-----------

Syntax: FCA [/U] Hotkey: Rightshift-/

Modes: places COLOR y RAD/DEG

TWO/NAP/TEN STUF/D DMS/NODMS

Review: ST

Registers: E PI A B C F K L M N Q R S X Y Z

Data entry areas: MEAN REGRESSION (Use Esc to paste result)

Binary operations: + - * / ^ CO PE

Unary operations: SQ SQRT EXP LOG SIN ASN

COS ACS TAN ATN SINH COSH TANH ! X= Y=

Probability fcns: BIN NORM POIS STUD

See the note about Errors below.

Changes since CAF 2.3

---------------------

- Operation symbols for combinations and permutations changed to

CO and PE from C and P respectively, to prevent conflict with

data registers.

- Second extra register Y added for calculation purposes. May now

set Y = C just as X = C.

- Meaning of certain registers changed to accommodate syntax used

in new probability routines. The slope of a regression line is

now L, not M. M is used to store means and is shared amongst

several routines. See detailed discussions below.

- Binomial, Poisson, Normal, and Student t probability functions,

See sections below about these new functions.

- Further development of FCA's error recovery system.

Changes since CAF 2.0

---------------------

- Much better input editor, allowing use of Esc key to exit; no

more jerky cursor action.

- Adds MEAN and REGRESSION special areas. ADD now integrated

into MEAN chiefly to save space. New display prompts put

results to the left the prompt.

- C added to binary functions - number of combinations of n things

taken r at a time. The math notation 'nCr' is somewhat modified

as 'a C b'.

- P added to binary functions - number of permutations, same

type of syntax as for combinations.

- ! added to unary functions - the factorial function. As for

all other unary functions, the function name MUST precede its

argument, and be separated by a blank. Thus the math notation

'10!' reads in CAF as '! 10'.

- MEAN area added - enables user to find the total, mean and

standard deviation of a list of numbers. Reserved for

registered users only.

- REGRESSION area added - enables user to find the correlation

coefficient of a series of paired data. Also computes the least

square regression line and other data for this series.

Registered users only.

- New registers for direct readout or paste: K (the y-intercept of

the regression line), M (the slope), N (the number of data in

the supplied scatter of points), R (the correlation

coefficient), S (the standard deviation for the MEAN).

- New storage register X, for saving old results for re-entry into

subsequent calculations.

- Introduces DMS format ('degree-minute-second') for trig

functions. Default is No DMS (NODMS). Where DMS is set, CAF

treats the first two digits following the decimal point of

angles as the number of minutes, and the next four digits as

seconds correct to the nearest hundredth of a second. Only

works when DEG (degree) mode is set, and only on the trig

functions and their inverses.

- The PLACES mode is simplified so that the mere entry of a single

digit number causes CAF to change the number of places.

Formerly, the user had to type 'x PLACES' to get it to recognise

x as the number of places. Entry of the number of places now

affects all displayed numbers, as well as all those which are

pasted to the underlying application. In the MEAN and

REGRESSION areas, however, results are formatted to a minimum of

3 places within those areas unless places is set higher than 3.

If set to 0, results rounded to 3 places in the area windows

will appear to maximum precision on exit from those windows.

- The N/D modes are now changed to STUF/D. The reason is to avoid

conflict with the N register readout for the number of pairs of

data entered in the MEAN and REGRESSION areas.

- Extends to all unary functions the same coverage of register

input as applies to binary functions.

INTRODUCTORY NOTE: FCA is a floating point companion alternative

to CA (see program listing in Shareware Notice above), which is

restricted to four function fixed point arithmetic. FCA supports

29 functions. Registered versions of CA use about 12K of memory;

FCA uses about 40K. This is comparable to some of the simpler

floating point calculators, such as FFC, but, unlike these (which

are usually restricted to the standard four arithmetic functions),

FCA currently offers 29 functions.

FCA is not a general formula evaluator. If you need to do many

different kinds of calculations on the same text in one shot, it

may be more appropriate to use Lotus 1-2-3 or similar, print

results as a file, edit, and then insert into your text. FCA,

however, does provide a simple means of re-using input data for

subsequent calculations (see section below about Automatic

Store/Recall and also the discussion about register operations).

Also, FCA provides a method of adding many numbers before

injecting the sum to text (See Special Accumulator section below).

FCA's floating point emulator will take advantage of the

coprocessor, if one is installed. This advantage is noticeable

primarily with regard to the probability functions. The slowest

and least accurate function is the Student probability integral,

which may require up to 8 seconds and beyond to find results

arising from certain rare combinations of input variables on a 386

machine WITH installed 80387. This function works up to 60 times

more slowly when run on a machine lacking a coprocessor. While

the transcendentals generally have an accuracy of the order of 12

decimal places, the Student is generally accurate to only 5. See

below about the STUD function.

FCA's real number range, apart from sign, is roughly between

1e-294 and 1.7e+308. This is much larger than is possible in the

companion program CA, and is also larger than the usual range for

many scientific calculators.

IMPORTANT: This program does not provide a menu or picture of a

calculator - so as to avoid obscuring portions of the underlying

editing application, and to avoid requiring the user to employ

only 25 x 80 screens (some TSR calculators require this, to make

use of Line 25 for calculator monitoring). FCA responds equally

well in 50 x 80 or 44 x 132 video environments; generally, it is

indifferent to the manner in which the video raster is defined.

FCA is designed to respond just to the hotkey, which provides

merely a 'calculation window', in which the user enters his

calculations or mode changes. Hitting ENTER after supplying a

calculation or mode change to the window, simply executes the job

and returns to the application. Where a result is generated, it

is pasted directly to the underlying application where the cursor

was last located.

In examples seen below, EACH calculation or mode change is

preceded by invoking the hotkey. This, however, does not apply to

special areas dealing with more complex problems, such as MEAN and

REGRESSION.

FCA is also designed to return the cursor to the initial position

in the main calculation window, to permit making mode adjustments

without line skipping. Once a task is completed, you may exit the

window merely by hitting ENTER one additional time or by using the

spacebar to delete the window. The old window always disappears

in an editing environment after the result is injected to the

text, but mode change information will, in general, remain.

Modes/review

------------

FCA provides 6 groups of mode selections - number of decimal

places to which to round results, colour of calculation window,

whether to use Radian or Degree measure, what base to use for the

EXP and LOG operations, whether to echo the result to display or

paste to text, and whether to use DMS format in trig calculations.

The current mode situation may be viewed simply by entering ST in

the calculation window (ST is short for 'status').

Mode changes are entered directly in the calculation window and

the new mode specs are resummarised in the calculation window,

just as though ST had been issued.

x

Entry of 5 in the calculation window will cause FCA to operate so

as to round all results to five decimal places. Entry of 0 means

that no formatting will occur. The default value is 0.

COLOR y:

Entry of 'COLOR 30' will cause the calculation window to have a

bright yellow foreground and a blue background. For colour

details see below. The default colour scheme is black on white

(112). Color 0 automatically converts to 112, so as to avoid

black on black.

RAD/DEG:

Entry of RAD in the window causes FCA to assume all angles entered

as arguments in trig functions are in radian measure. Entry of

DEG puts FCA into Degree mode. The default is Degree mode.

TWO/NAP/TEN:

FCA supports three bases for use with the LOG or EXP functions.

TWO means Base 2; NAP is short for the Napierian base (2.718 ...)

and means Base e; and TEN means Base 10. The default is Base e.

STUF/D:

STUF means normal (stuff the result to the underlying

application), and D means display (that is, display at TSR video

level). STUF is the default. STUF mode injects results to the

underlying application; display mode echoes results to the screen

without pasting to the application at all.

Register operations

-------------------

FCA supports pasting 11 registers direct to text. For example,

after invoking the hotkey, we simply enter

e [= 2.7182818284590

(the use of the left bracket here merely signifies that the result

appears at the underlying application, not at TSR level)

In addition, the user may simply enter A, B, or C to examine the

last value stored in FCA's "store/recall" facilities (see

below), as well as the general storage register X, and the

statistics registers.

Binary operations

-----------------

FCA supports seven two-variable ('binary') operations: + - * / ^ C

P, or add, subtract, multiply, divide, raise to a power,

combinations and permutations, respectively. For example,

1991-1917 [= 74

7e-6+3e-4 [= 0.000307

3.33e+1+4.56e-3 [= 33.30456

When entering exponentially formatted numbers one must specify a

sign (+ or -) immediately after the 'e' symbol.

Additional examples:

35/34 [= 1.0294117647058

35*34 [= 1190

35^34 [= 3.1500214e+52

10 CO 4 [= 210 (210 combinations of 10 things

taken 4 at a time)

Unary operations

----------------

FCA also supports 10 unary transcendental functions, grouped by

inverses, as well as three hyperbolic functions, and the factorial

function. Here, a blank must separate the name of the operation

and the number which the operation takes as its argument.

Examples,

! 6 [= 720 (factorial 6)

SIN 45 [= 0.7071067811865

COS 1 [= 0.9998476951563

LOG 2 [= 0.6931471805599

EXP 1 [= 2.7182818284590

SQRT 2 [= 1.4142135623731

If you wish to use Base 10 logarithms, just enter TEN in the

window, and then

LOG 2 [= 0.3010299956639

Note: the EXP function is in fact an antilog function, since it is

subject to the same range of base changes as is the LOG function.

This may be inconvenient to some users who assume that the

exponential function must always have base e, but implementing a

separate antilog function seemed, in the circumstances, merely to

be useless duplication of what is, essentially, a quite flexible

function.

The internal setup for the hyperbolic functions is the same as for

the trig functions. If you select DEGree mode, FCA will convert

your degree measure into the radian equivalent before calculating

the function. If you select RADian mode, FCA will do no such

conversion, but will inject your argument directly to the

function.

Automatic store/recall

----------------------

If you are doing several calculations which involve use of the

same term, you may reduce typing further by using variables.

Calculation window variables are A, B, and C. The first time

you execute a calculation with numbers, the first number is

always stored into A, the second number into B, and the result

into C. These values can be re-used, simply by employing these

variables in subsequent calculations [except, of course, for the

fact that, as each new calculation is done, the value of C will

be updated with the new result].

Example (after entering 3 in the window):

Suppose we wish to perform the following calculations -

34.21102 x 435, and

34.21102 / 355.5

Here, each calculation uses the same initial term. We proceed

as follows, each time by hitting Rightshift-slash, and entering

the calculation shown:

34.21102 * 435 [= 1.488e+4

a/355.5 [= 9.623e-2

The second calculation above could be repeated merely by entering

a/b

The user may also proceed to obtain results for the other three

operations, using the same numbers, as follows:

a*b [= 12162.018

a+b [= 389.711

a-b [= -321.289

The output C-variable can also be used in calculations. For

example, we may first calculate with no scientific notation

2/3 [= 0.667 ]

Here, A = 2, B = 3, and C is the result in brackets. Now, if we

multiply the result C by 3, we should get back the numerator A:

C * 3 [= 2.000

This example illustrates the fact that FCA, like handheld

calculators with the store/recall function, stores results in a

separate register before rounding. It is this separate register

that is used for input, when the user employs C in a

calculation. [otherwise, the user might get back 2.001].

This type of 'result protection' on use of a previous result is

not, however, found in most TSR calculators.

All these remarks apply also to FCA's trig functions. For

example (using 5 decimal places),

SIN 89 [= 0.99985

We may now get back the value of the argument, simply by

performing the inverse (ARCSINE or ASN) on the result:

ASN C [= 89.00000

The same principle also works with squares and squareroots, as

well as logs and exponentials. For example,

LOG 2 [= 0.69315

but the argument '2' may be had by performing the inverse on the

result:

EXP C [= 2.00000

You may also store a previous input or result into either of the

extra storage registers X or Y. Just use, for example,

X= C or Y = B

to store the value of C into X or B into Y. Note that FCA is

indifferent on whether the entry formula is 'X=C' or 'X = C'. X

may be recalled simply by entering X by itself, or by using it as

an argument in any function.

MEAN (Total, Mean and Standard deviation)

-----------------------------------------

Entry of the keyword MEAN in the calculation window will

transfer control to a special area of FCA which displays the

following type of prompt:

X>

Numbers entered at this prompt are totalled and in passing FCA

also computes the mean and standard deviation for all numbers

entered, displaying these results in the stated order to the left

of the prompt.

If the next number in the series is the same as the previous one,

you may simply enter X at the prompt; FCA interprets X in the MEAN

window as the value last entered. The same principle applies

where the user wishes merely add the previous total to itself: use

the result register C.

The data displayed to the left of the prompt are displayed as

rounded to a minimum of 3 places.

When finished entering data, simply hit the Esc key to paste the

Total to the underlying application. The other data are available

by entering the following variable names:

C - Total

M - Mean

S - Standard deviation

N - Number of data entered.

F - Degrees of freedom (for MEAN calculations this will be

N - 1).

The main result, the total, may be accessed by using register C.

The values listed above may be used, for example, in the Normal

distribution to obtain automatic calculation of a z-score (see

below).

For the interest of statistics people, the definition of standard

deviation used in FCA assumes the "n - 1" basis. That is, it is

based on multiplying the the root mean square of the data by the

square root of the ratio of N to N - 1. The purpose of the n-1

basis is to obtain a more realistic value for the standard

deviation in small sample applications than is possible with a

mere variance calculation.

The value of this routine is primarily to obtain quick results on

small amounts of data found directly on the screen in the

underlying application. If you have a large job to do, involving

many points, your best bet is to use a large program such as LOTUS

1-2-3, not a small program like FCA.

MEAN is available only to registered users.

REGRESSION (regression analysis)

--------------------------------

Entry of the keyword REGRESSION in the calculation window will

transfer control to the REGRESSION area of FCA.

Here, the prompt will change between

X>

and

Y>

and FCA will issue a beep to the speaker each time a Y value is

entered. Three running results are displayed to the left of the

prompt: The correlation coefficient, the y-intercept of the

regression line, and the slope of that line. The previous value

of X may be entered at either prompt by using X, and the previous

value of Y may be entered at either prompt by using Y. If you

enter C (the result register) the current correlation coefficient

will be entered at the prompt in question. Avoid, unless you

really want to do that.

But otherwise, operation of the REGRESSION area is similar to

that in MEAN.

On use of Esc to exit, FCA will paste the correlation

coefficient to the underlying application. To paste the

y-intercept, use K; and to paste the slope, use L. The

regression line has the standard form,

Y = K + LX

As usual, N is the number of pairs of data entered in the

REGRESSION window. The correlation coefficient may be obtained by

entering R.

F is also calculated by FCA, and in the REGRESSION window, will

always be set to N - 2.

REGRESSION is available only to registered users.

BIN

---

This function returns the cumulative binomial probability of the

occurrence of X or fewer events in a sample of size N, where the

probability of a single event is Q, as well as the point

probability in register Y. The syntax is

BIN X N Q

corresponding to the summation of all values of the binomial

frequency distribution for occurrences ranging between 0 and X.

Taking an example from Spiegel's Statistics (Schaum Outline

Series, p 127), find the probability that at most 2 bolts (i.e.

either 0, 1, or 2) will be defective in a sample of 4 taken from

a production process in which 20% of all bolts produced are

defective. Here, we use

BIN 2 4 0.2 [= 0.9728

the same answer given by Spiegel.

The probability that exactly 2 bolts will be defective in this

problem is obtained merely by entering the Y register

Y [= 0.1536

POIS

----

This is the Poisson cumulative probability of the occurrence of

X or fewer events in a sample of size N, where the probability

of a single event is Q - using same syntax as BIN:

POIS X N Q

The 'integration' logic used by FCA here is the same as for the

binomial distribution. That is, the result found is the

summation of the individual Poisson probabilities from 0 to X.

The point probability is found in register Y.

The primary reason why this distribution is needed to supplement

the Binomial, is that the latter has a restricted range, owing to

the fact that it uses the factorial function to operate on the

sample size. This function explodes beyond the number range

intelligible to FCA for arguments larger than 170. The Poisson

distribution also uses the factorial function, but only on the

value of X. It is therefore capable of dealing with very large

sample sizes. The disadvantage of the Poisson is that it is only

an approximation to the Binomial.

Using another example out of Spiegel's text, we may find the

probability that more than 2 individuals out of a sample of 2000

will suffer a bad reaction from a certain injection, if the

probability that any individual will suffer is 0.001. This

problem is clearly beyond the capabilities of the binomial

distribution. The problem is solved first by finding the

probability that at least 2 will suffer. This is:

POIS 2 2000 0.001 [= 0.6767

The probability that more than 2 will suffer is obviously 1

minus this result:

1 - C [= 0.3233

which is the same as Spiegel's result.

The probability that exactly 2 persons will suffer in this

problem is found in register Y:

Y [= 0.2707

NORM

----

The syntax for the normal probability is

NORM [X M S F] | [Z]

The form here indicates two modes of data entry; one which

involves inputting the sample mean X, the population mean M, the

sample standard deviation S, and the degrees of freedom F

associated with that sample - or simply the z-score. The value of

F should be equal to N - 1; that is, it should be one minus the

sample size. FCA will automatically calculate the appropriate

z-score if the first data entry method is used. The result is

found in register Z.

The terminology used here is compatible with the terminology used

in the MEAN section of FCA. Since FCA only uses the absolute

value of the z-score to calculate the probability of the null

hypothesis, it does not matter whether MEAN is used to compute

population or sample means.

Thus, after entering the sample in MEAN, the user may exit and

test a particular value of X, say 5, against those results by

entering

NORM 5 M S F

FCA will pick up the values of M, S, F and proceed to calculate

the z-score for the X-value 5. The result returned in C (and

pasted to text, if STUF mode is active) is the probability of the

null hypothesis - that is, the 'one-tailed' cumulative Normal

probability associated with values of X equal to or greater than

5.

If only one parameter is entered, NORM assumes that this value

is the raw z-score. For example, the one-tailed Normal

probability for a z-score of 1.96 is:

NORM 1.96 [= 2.500e-02

which checks exactly with any standard table of Normal

probabilities. 1.96 will be recognised by statisticians as the

usual z-score associated with defining a two-tailed 95% confidence

interval about a mean [2.500e-02 = 1 - 0.95/2].

The Normal ordinate for the input value of 1.96 is available in Y:

Y

STUD

----

The Normal distribution is not very useful except on large

samples, for which reason the Student distribution was developed

earlier this Century by Gosset. The syntax is -

STUD [X M S F] | [Z F]

Same remarks for these variables and their purpose as given above

for NORM. Note that, if the calculation of the t-score is avoided

and direct entry is desired, the user must enter degrees of

freedom F along with the score.

For example, if the t-score is 12.706 based on a sample size

only two data, so that there is only 1 degree of freedom, then

the probability of the null hypothesis is

STUD 12.706 1 [= 2.500e-02

which agrees exactly with statistical tables on the Student

distribution.

FCA does not yet support recovery of the Student ordinate values.

The point about the importance of large samples for the Normal

distribution may be seen by noting how many degrees of freedom are

necessary to bring the Student probability into line with the

Normal, using a constant score of 1.96. This can be seen in the

following brief chart:

Z = 1.96

-------------------

Degrees of freedom Student probability

------------------ -------------------

1 0.150

10 3.922e-02

30 2.967e-02

100 2.639e-02

500 2.528e-02

5000 2.503e-02

Note how the Student probability converges to the Normal as very

large amounts of data are used to calculate the sample mean. Note

also the probability with a sample size of 31 (F = 30): the value

there is close enough to the Normal value of 2.500e-02 to let the

Normal present a reasonably accurate picture of a two-tailed 95%

confidence interval on that sample size. This is the reason why

most statisticians don't consider a Normal test to be good unless

the sample is based on at least 30 pieces of data.

In text editing applications, where the user is evaluating a small

number of results, say, sample sizes of the order of 3 to 12

pieces of data, and wants a quick analysis, the Normal

distribution will not be helpful at all: The Student distribution

will be required. And it is quite handy to have such a

distribution immediately accessible at the touch of a hotkey.

I have referred here to the "t-score"; but the syntax of the STUD

function uses the variable Z. This is due to the fact that FCA

uses the same definition for the standard deviation throughout all

its statistics routines, resulting in the fact that the z-score

and the t-score use the same formulas. This being the case, it

was not necessary to distinguish a "T" variable for separate use

with the Student distribution.

Wait time

---------

The Student integral is a relatively complex and slowly converging

infinite series, and so, certain combinations of values will cause

FCA to display the message

Wait ...

for an appreciable length of time. This means that the integral

is being calculated. As stated above in the introductory portion

of this file, FCA will take full advantage of a numeric

coprocessor, if one is installed. Experiment shows that Student

probability calculations run between 30 and 60 times faster when

when there is an installed coprocessor.

Normally, this wait time problem is not significant. But for very

large t-scores and small values of F, execution time for the

Student probability may prove to be substantial, even for fast

machines. For example,

STUD 64 1 [= 4.973e-03

requires 8 seconds on a 20 Mhz 386/387 machine. On a 486 machine,

the expectation is that this result would require somewhat less

than 2 seconds, since all such machines have numeric coprocessor

capability built-in.

On a 6 MHz AT without coprocessor, however, this calculation will

require more than 22 MINUTES.

So, if you see 'Wait ...' just wait: your machine is NOT hung.

And avoid Z values substantially larger than 10, unless you have a

coprocessor, or are prepared to wait for the result. Execution

time rises about as the square of Z and drops in rough linear

proportion to the value of F.

Nearly always, however, the user will not be considering such

large t-scores and will have samples which are larger than just

two pieces of data (1 degree of freedom). For example, a t-score

of 2.78 based on a calculated mean of a sample of size 5 -

STUD 2.78 4 [= 2.491e-02

executes virtually instantaneously on a 386/387, and requires

about 3 seconds on a 6 MHz AT without coprocessor.

Prompt Colour

-------------

As stated above, to change the colour of the calculation window,

simply enter

COLOR x

in the window, where x is a COLOR number. The default is 112,

which describes black foreground on a white background. 0 is

impossible (black on black), and so FCA converts that number to

112 automatically. Foreground and Background colours may be

determined by using the following table:

Back Fore Bright Fore

---- ---- -----------

Black 0 0 8

Blue 16 1 9

Green 32 2 10

Cyan 48 3 11

Red 64 4 12

Magenta 80 5 13

Brown 96 6 14

White 112 7 15

The correct COLOR number is found merely by adding the Foreground

number to the Background number desired. For example, Bright

Green on Blue background is 10 + 16 = 26.

Avoid setting COLOR above 127. Values above that limit will

produce blinking displays.

In my estimation the COLORs best for the eye are 10, 11, 14, 15,

26, 27, 30, 31, 74, 75, 78, 79 and 112. But you may have other

ideas. Example,

COLOR 75

sets the window to Bright Cyan on a Red background.

Errors

------

FCA supports error reports as follows -

xyz: illegal - This message occurs where your entered

instruction, 'xyz', is not recognised by

FCA. For example, 'TAN89' is illegal;

should be 'TAN 89'.

Read examples in documentation above to

be sure you understand how to enter

expressions.

Illegal X setting - This means that you have tried to save

the value of unsupported register into

X. The supported registers are listed

on the help screen.

Zero divide error - Attempt to divide by zero. This can be

an explicit mistake, like '5 / 0', or it

may be an attempt to calculate the value

of a unary function which divides two

other functions to obtain its result.

For example, the TAN, or Tangent of an

angle, is really the ratio of the Sine

and the Cosine of that angle; but the

Cosine of 90 degrees is zero, so trying

to find the Tangent of 90 will generate

this error.

Negative base error - You tried raising a negative number to a

power (cannot be done on real numbers).

Negative argument error - You tried taking the LOG of a negative

number (cannot be done on real numbers).

Requires registration - This means you are trying to access a

function accessible only to registered

users. (Send in your contribution, and

get full access!)

FCA 2.4 also adds numerous other specific error message readouts,

providing diagnostics on values of special variables, especially

in reference to the probility and statistics functions. These are

all self-explanatory.

CAUTION

-------

Certain types of editors will not work consistently with FCA - in

particular, editors which simulate the Macintosh console

environment, such as the Microsoft DOS 5.0 Editor. Like Microsoft

Windows, these environments do certain tricks with video display -

and, so I understand, certain tricks to redefine one or more

interrupt functions - which lead to machine hangs when FCA and

other similar TSR's are run concurrently with them. (The problem

here is not unique to FCA, as collateral testing of other TSR

calculators has shown).

Further, like all memory resident programs, FCA is vulnerable to

compatibility problems which may arise from its use with other

TSR's. If you find you must reboot, try removing other memory

resident programs from your AUTOEXEC.BAT file, or try changing the

sequence in which they are loaded until you find the best

combination.

However, tests have shown that FCA is much less vulnerable to

interrupt collisions and other compatibility problems than other

resident floating point calculators.

One category of TSR which is almost guaranteed to cause trouble

for FCA (and for any program which stuffs keystrokes into the

keyboard buffer) are programs like 128KEY.COM, which lengthen or

change the effective size of the keyboard buffer. Don't use such

programs with FCA.

FCA is primarily intended to work with editors and wordprocessors,

and has been tested on Wordperfect 5.0, Galaxy 2.42, Captain

Blackbeard 1.13, SLED 1.1, QEDIT 2.08, pEDIT 2.10, and a number of

other editors/wordprocessors, with no confirmed problem or

abnormality.

FCA is recommended for use as the last memory resident program

loaded, so as to permit the use of the /U commandline option to

unload it from memory, and only in standard text-editing or

wordprocessing applications. Unless you have found that FCA works

with your non-standard application, it is recommended that you

take the precaution of unloading FCA before you invoke such an

application.

----------------------

End of documentation

Resident Floating Point Scientific Calculator

by

Bob Eyer

[73230,2620]

May 10, 1992

SHAREWARE NOTICE and TERMS

The content of this archive is shareware: if you think it's a

worthy addition to your personal software, you might make a

contribution to the author. In return for your contribution you

will receive the most recent updates of the items mentioned in the

list below.

Simply purchase a money order from your bank in the amount of $20

US made out to Bob Eyer and send with your return address to:

Bob Eyer

1100 Bloor Street West

Suite 16

Toronto, Canada M6H 1M8

Please mention in your accompanying note whether you wish 5.25" or

3.5" diskette format, and state the name in which you wish

registration-only utilities to be registered.

Do not send checks. Checks cause problems across international

borders which make them unsuitable for small purchases by mail

order. Checks will be returned with your order unfilled.

Enquiries may be placed by writing directly to the author via

Easyplex at Compuserve [73230,2620].

Warranty and Disclaimer:

-----------------------

The author, Bob Eyer, of this and all items below guarantees the

physical integrity of the diskette covering the points above, and

will replace free of charge, if it is received defective.

However, in no case will the author be responsible for any damages

due to loss of data or any other reason. In no event does the

author's liability for any damages exceed the price paid for the

buyer's order of this software, regardless of the form of the

claim. The person using the software bears all risk as to the

quality and performance of the software.

DESCRIPTION OF PROGRAMS YOU WILL RECEIVE FOR YOUR CONTRIBUTION

--------------------------------------------------------------

The items listed below, except the ones with asterisk in the left

margin, are registered to you personally. As personally

registered to you, these particular copies may not be distributed

without the author's consent. Names of programs falling into this

category are all versions of MG, versions of SPC after SPC 5.4,

all versions of HOST, CA, and FCA. These programs may be freely

circulated only in their 'shareware' form. Versions of these

programs which are personally registered to the user must not be

so circulated. When you place an order by making your shareware

contribution under these terms, you are agreeing to abide by this

principle.

The asterisked items mentioned below are in fact collections of

new versions of Eyer utilities, most of the older versions of

which were posted separately. They have been combined into

packages in order to simplify processing orders at this end.

MG 3.0

------

Moving average ASCII graphing program. Especially designed for

obtaining graphic updates on stock-market activity in practical

trading environments, in which it is essential that the user get a

quick graph immediately, with points of the graph directly

associated with the numerical and other text information which

these points represent (a feat impractical in Lotus graphics).

Designed to be used with SETV in the SUTL package.

SPC 5.5

-------

Multidrive columnar drive report, with fairly complete description

of your machine including communications, important chips,

printer, BIOS, memory, processor and coprocessor speed,

multitasking, networking, and so on, all in one single snapshot.

New version doubles the amount of information on each

communications port and displays the information in columnar mode

above the drive report, adds an environment usage readout as well

as a new P parameter to pause the PRINT multiplexer, when it is

used to feed data to your printer. (DOS PRINT lacks a pause

command).

HOST 2.4

--------

Provides a simple BBS host for occasional use. Fully

configurable, but capable of being run 'right out of the box',

HOST provides ringback, file transfer, mail, chat, userlog, shell,

and much more - in an executable only 30K in size. Version 2.4

adds options to limit medium speed noise filtering, and

facilities for reading in the user's own list of file protocols.

CA 2.4

------

7-function fixed point TSR calculator with formatted displays and

scientific notation for direct paste to text. Also has

accumulator. Four mode groups. About 13K of memory.

FCA 2.4

-------

Memory resident calculator with formatted displays and direct

paste to text, minimum screen overlay. 29 functions, including

trig, factorials & combinations, mean & standard deviation,

regression analysis, binomial, Poisson, normal, and Student

distributions. Six mode groups. FCA is the most sophisticated

calculator in the business for its size. 39K of memory.

* FUTL 2.0

--------

A collection of file processing utilities including -

CHG 2.8 - File/directory attribute/date/time reader/changer

ELIM 2.6 - Replacement for DOS DEL

FVER 2.1 - BBS file list verifier - automatic, redirectable

MV 2.8 - File mover, large improvement over MV 2.6.

MVA 2.1 - BBS file mover, reads from list, uses download path

OTL 3.0 - Operation to List, generalisation of MVA, for BBSes

RNF 2.2 - Puts special flags on filenames

SWP 2.0 - Single level sweep program, faster than SWEEP.COM

TYME 2.3 - Program execution timer

WD 2.6 - Applies wildcard to any program

Each is the best and smallest in the business for what it does.

* SUTL 2.2

--------

A collection of small utilities covering batch file, diagnostic,

communications analysis, file, video, and other areas, including

AL, CFIX, DOSV, DTR, EL, EMS, KALL, LF, PAUZ, PF, PORT, RING, RTS,

SETV, SS, and TSTF. Includes a number of very useful memory

resident programs, such as AL(alarm) and PORT(analyser). Colour

fix for SS, some new programs such as a very small keystroke

counter.

* TUTL 2.1

--------

A collection of text-processing utilities, including ADD, CBRO,

CITM, COMB, DIV, ESRT, LCNT, REV, and SPLT. Except for LCNT (a

very fast wildcarded text linecounter), these programs cover

important ground in text processing for which there exists no

other alternative in the shareware market. Users who do much

work with ASCII text should not be without these utilities.

WARNING: THIS SOFTWARE MAY NOT WORK PROPERLY WITH CERTAIN

APPLICATIONS. SEE CAUTION BELOW.

Help screen

-----------

Syntax: FCA [/U] Hotkey: Rightshift-/

Modes: places COLOR y RAD/DEG

TWO/NAP/TEN STUF/D DMS/NODMS

Review: ST

Registers: E PI A B C F K L M N Q R S X Y Z

Data entry areas: MEAN REGRESSION (Use Esc to paste result)

Binary operations: + - * / ^ CO PE

Unary operations: SQ SQRT EXP LOG SIN ASN

COS ACS TAN ATN SINH COSH TANH ! X= Y=

Probability fcns: BIN NORM POIS STUD

See the note about Errors below.

Changes since CAF 2.3

---------------------

- Operation symbols for combinations and permutations changed to

CO and PE from C and P respectively, to prevent conflict with

data registers.

- Second extra register Y added for calculation purposes. May now

set Y = C just as X = C.

- Meaning of certain registers changed to accommodate syntax used

in new probability routines. The slope of a regression line is

now L, not M. M is used to store means and is shared amongst

several routines. See detailed discussions below.

- Binomial, Poisson, Normal, and Student t probability functions,

See sections below about these new functions.

- Further development of FCA's error recovery system.

Changes since CAF 2.0

---------------------

- Much better input editor, allowing use of Esc key to exit; no

more jerky cursor action.

- Adds MEAN and REGRESSION special areas. ADD now integrated

into MEAN chiefly to save space. New display prompts put

results to the left the prompt.

- C added to binary functions - number of combinations of n things

taken r at a time. The math notation 'nCr' is somewhat modified

as 'a C b'.

- P added to binary functions - number of permutations, same

type of syntax as for combinations.

- ! added to unary functions - the factorial function. As for

all other unary functions, the function name MUST precede its

argument, and be separated by a blank. Thus the math notation

'10!' reads in CAF as '! 10'.

- MEAN area added - enables user to find the total, mean and

standard deviation of a list of numbers. Reserved for

registered users only.

- REGRESSION area added - enables user to find the correlation

coefficient of a series of paired data. Also computes the least

square regression line and other data for this series.

Registered users only.

- New registers for direct readout or paste: K (the y-intercept of

the regression line), M (the slope), N (the number of data in

the supplied scatter of points), R (the correlation

coefficient), S (the standard deviation for the MEAN).

- New storage register X, for saving old results for re-entry into

subsequent calculations.

- Introduces DMS format ('degree-minute-second') for trig

functions. Default is No DMS (NODMS). Where DMS is set, CAF

treats the first two digits following the decimal point of

angles as the number of minutes, and the next four digits as

seconds correct to the nearest hundredth of a second. Only

works when DEG (degree) mode is set, and only on the trig

functions and their inverses.

- The PLACES mode is simplified so that the mere entry of a single

digit number causes CAF to change the number of places.

Formerly, the user had to type 'x PLACES' to get it to recognise

x as the number of places. Entry of the number of places now

affects all displayed numbers, as well as all those which are

pasted to the underlying application. In the MEAN and

REGRESSION areas, however, results are formatted to a minimum of

3 places within those areas unless places is set higher than 3.

If set to 0, results rounded to 3 places in the area windows

will appear to maximum precision on exit from those windows.

- The N/D modes are now changed to STUF/D. The reason is to avoid

conflict with the N register readout for the number of pairs of

data entered in the MEAN and REGRESSION areas.

- Extends to all unary functions the same coverage of register

input as applies to binary functions.

INTRODUCTORY NOTE: FCA is a floating point companion alternative

to CA (see program listing in Shareware Notice above), which is

restricted to four function fixed point arithmetic. FCA supports

29 functions. Registered versions of CA use about 12K of memory;

FCA uses about 40K. This is comparable to some of the simpler

floating point calculators, such as FFC, but, unlike these (which

are usually restricted to the standard four arithmetic functions),

FCA currently offers 29 functions.

FCA is not a general formula evaluator. If you need to do many

different kinds of calculations on the same text in one shot, it

may be more appropriate to use Lotus 1-2-3 or similar, print

results as a file, edit, and then insert into your text. FCA,

however, does provide a simple means of re-using input data for

subsequent calculations (see section below about Automatic

Store/Recall and also the discussion about register operations).

Also, FCA provides a method of adding many numbers before

injecting the sum to text (See Special Accumulator section below).

FCA's floating point emulator will take advantage of the

coprocessor, if one is installed. This advantage is noticeable

primarily with regard to the probability functions. The slowest

and least accurate function is the Student probability integral,

which may require up to 8 seconds and beyond to find results

arising from certain rare combinations of input variables on a 386

machine WITH installed 80387. This function works up to 60 times

more slowly when run on a machine lacking a coprocessor. While

the transcendentals generally have an accuracy of the order of 12

decimal places, the Student is generally accurate to only 5. See

below about the STUD function.

FCA's real number range, apart from sign, is roughly between

1e-294 and 1.7e+308. This is much larger than is possible in the

companion program CA, and is also larger than the usual range for

many scientific calculators.

IMPORTANT: This program does not provide a menu or picture of a

calculator - so as to avoid obscuring portions of the underlying

editing application, and to avoid requiring the user to employ

only 25 x 80 screens (some TSR calculators require this, to make

use of Line 25 for calculator monitoring). FCA responds equally

well in 50 x 80 or 44 x 132 video environments; generally, it is

indifferent to the manner in which the video raster is defined.

FCA is designed to respond just to the hotkey, which provides

merely a 'calculation window', in which the user enters his

calculations or mode changes. Hitting ENTER after supplying a

calculation or mode change to the window, simply executes the job

and returns to the application. Where a result is generated, it

is pasted directly to the underlying application where the cursor

was last located.

In examples seen below, EACH calculation or mode change is

preceded by invoking the hotkey. This, however, does not apply to

special areas dealing with more complex problems, such as MEAN and

REGRESSION.

FCA is also designed to return the cursor to the initial position

in the main calculation window, to permit making mode adjustments

without line skipping. Once a task is completed, you may exit the

window merely by hitting ENTER one additional time or by using the

spacebar to delete the window. The old window always disappears

in an editing environment after the result is injected to the

text, but mode change information will, in general, remain.

Modes/review

------------

FCA provides 6 groups of mode selections - number of decimal

places to which to round results, colour of calculation window,

whether to use Radian or Degree measure, what base to use for the

EXP and LOG operations, whether to echo the result to display or

paste to text, and whether to use DMS format in trig calculations.

The current mode situation may be viewed simply by entering ST in

the calculation window (ST is short for 'status').

Mode changes are entered directly in the calculation window and

the new mode specs are resummarised in the calculation window,

just as though ST had been issued.

x

Entry of 5 in the calculation window will cause FCA to operate so

as to round all results to five decimal places. Entry of 0 means

that no formatting will occur. The default value is 0.

COLOR y:

Entry of 'COLOR 30' will cause the calculation window to have a

bright yellow foreground and a blue background. For colour

details see below. The default colour scheme is black on white

(112). Color 0 automatically converts to 112, so as to avoid

black on black.

RAD/DEG:

Entry of RAD in the window causes FCA to assume all angles entered

as arguments in trig functions are in radian measure. Entry of

DEG puts FCA into Degree mode. The default is Degree mode.

TWO/NAP/TEN:

FCA supports three bases for use with the LOG or EXP functions.

TWO means Base 2; NAP is short for the Napierian base (2.718 ...)

and means Base e; and TEN means Base 10. The default is Base e.

STUF/D:

STUF means normal (stuff the result to the underlying

application), and D means display (that is, display at TSR video

level). STUF is the default. STUF mode injects results to the

underlying application; display mode echoes results to the screen

without pasting to the application at all.

Register operations

-------------------

FCA supports pasting 11 registers direct to text. For example,

after invoking the hotkey, we simply enter

e [= 2.7182818284590

(the use of the left bracket here merely signifies that the result

appears at the underlying application, not at TSR level)

In addition, the user may simply enter A, B, or C to examine the

last value stored in FCA's "store/recall" facilities (see

below), as well as the general storage register X, and the

statistics registers.

Binary operations

-----------------

FCA supports seven two-variable ('binary') operations: + - * / ^ C

P, or add, subtract, multiply, divide, raise to a power,

combinations and permutations, respectively. For example,

1991-1917 [= 74

7e-6+3e-4 [= 0.000307

3.33e+1+4.56e-3 [= 33.30456

When entering exponentially formatted numbers one must specify a

sign (+ or -) immediately after the 'e' symbol.

Additional examples:

35/34 [= 1.0294117647058

35*34 [= 1190

35^34 [= 3.1500214e+52

10 CO 4 [= 210 (210 combinations of 10 things

taken 4 at a time)

Unary operations

----------------

FCA also supports 10 unary transcendental functions, grouped by

inverses, as well as three hyperbolic functions, and the factorial

function. Here, a blank must separate the name of the operation

and the number which the operation takes as its argument.

Examples,

! 6 [= 720 (factorial 6)

SIN 45 [= 0.7071067811865

COS 1 [= 0.9998476951563

LOG 2 [= 0.6931471805599

EXP 1 [= 2.7182818284590

SQRT 2 [= 1.4142135623731

If you wish to use Base 10 logarithms, just enter TEN in the

window, and then

LOG 2 [= 0.3010299956639

Note: the EXP function is in fact an antilog function, since it is

subject to the same range of base changes as is the LOG function.

This may be inconvenient to some users who assume that the

exponential function must always have base e, but implementing a

separate antilog function seemed, in the circumstances, merely to

be useless duplication of what is, essentially, a quite flexible

function.

The internal setup for the hyperbolic functions is the same as for

the trig functions. If you select DEGree mode, FCA will convert

your degree measure into the radian equivalent before calculating

the function. If you select RADian mode, FCA will do no such

conversion, but will inject your argument directly to the

function.

Automatic store/recall

----------------------

If you are doing several calculations which involve use of the

same term, you may reduce typing further by using variables.

Calculation window variables are A, B, and C. The first time

you execute a calculation with numbers, the first number is

always stored into A, the second number into B, and the result

into C. These values can be re-used, simply by employing these

variables in subsequent calculations [except, of course, for the

fact that, as each new calculation is done, the value of C will

be updated with the new result].

Example (after entering 3 in the window):

Suppose we wish to perform the following calculations -

34.21102 x 435, and

34.21102 / 355.5

Here, each calculation uses the same initial term. We proceed

as follows, each time by hitting Rightshift-slash, and entering

the calculation shown:

34.21102 * 435 [= 1.488e+4

a/355.5 [= 9.623e-2

The second calculation above could be repeated merely by entering

a/b

The user may also proceed to obtain results for the other three

operations, using the same numbers, as follows:

a*b [= 12162.018

a+b [= 389.711

a-b [= -321.289

The output C-variable can also be used in calculations. For

example, we may first calculate with no scientific notation

2/3 [= 0.667 ]

Here, A = 2, B = 3, and C is the result in brackets. Now, if we

multiply the result C by 3, we should get back the numerator A:

C * 3 [= 2.000

This example illustrates the fact that FCA, like handheld

calculators with the store/recall function, stores results in a

separate register before rounding. It is this separate register

that is used for input, when the user employs C in a

calculation. [otherwise, the user might get back 2.001].

This type of 'result protection' on use of a previous result is

not, however, found in most TSR calculators.

All these remarks apply also to FCA's trig functions. For

example (using 5 decimal places),

SIN 89 [= 0.99985

We may now get back the value of the argument, simply by

performing the inverse (ARCSINE or ASN) on the result:

ASN C [= 89.00000

The same principle also works with squares and squareroots, as

well as logs and exponentials. For example,

LOG 2 [= 0.69315

but the argument '2' may be had by performing the inverse on the

result:

EXP C [= 2.00000

You may also store a previous input or result into either of the

extra storage registers X or Y. Just use, for example,

X= C or Y = B

to store the value of C into X or B into Y. Note that FCA is

indifferent on whether the entry formula is 'X=C' or 'X = C'. X

may be recalled simply by entering X by itself, or by using it as

an argument in any function.

MEAN (Total, Mean and Standard deviation)

-----------------------------------------

Entry of the keyword MEAN in the calculation window will

transfer control to a special area of FCA which displays the

following type of prompt:

X>

Numbers entered at this prompt are totalled and in passing FCA

also computes the mean and standard deviation for all numbers

entered, displaying these results in the stated order to the left

of the prompt.

If the next number in the series is the same as the previous one,

you may simply enter X at the prompt; FCA interprets X in the MEAN

window as the value last entered. The same principle applies

where the user wishes merely add the previous total to itself: use

the result register C.

The data displayed to the left of the prompt are displayed as

rounded to a minimum of 3 places.

When finished entering data, simply hit the Esc key to paste the

Total to the underlying application. The other data are available

by entering the following variable names:

C - Total

M - Mean

S - Standard deviation

N - Number of data entered.

F - Degrees of freedom (for MEAN calculations this will be

N - 1).

The main result, the total, may be accessed by using register C.

The values listed above may be used, for example, in the Normal

distribution to obtain automatic calculation of a z-score (see

below).

For the interest of statistics people, the definition of standard

deviation used in FCA assumes the "n - 1" basis. That is, it is

based on multiplying the the root mean square of the data by the

square root of the ratio of N to N - 1. The purpose of the n-1

basis is to obtain a more realistic value for the standard

deviation in small sample applications than is possible with a

mere variance calculation.

The value of this routine is primarily to obtain quick results on

small amounts of data found directly on the screen in the

underlying application. If you have a large job to do, involving

many points, your best bet is to use a large program such as LOTUS

1-2-3, not a small program like FCA.

MEAN is available only to registered users.

REGRESSION (regression analysis)

--------------------------------

Entry of the keyword REGRESSION in the calculation window will

transfer control to the REGRESSION area of FCA.

Here, the prompt will change between

X>

and

Y>

and FCA will issue a beep to the speaker each time a Y value is

entered. Three running results are displayed to the left of the

prompt: The correlation coefficient, the y-intercept of the

regression line, and the slope of that line. The previous value

of X may be entered at either prompt by using X, and the previous

value of Y may be entered at either prompt by using Y. If you

enter C (the result register) the current correlation coefficient

will be entered at the prompt in question. Avoid, unless you

really want to do that.

But otherwise, operation of the REGRESSION area is similar to

that in MEAN.

On use of Esc to exit, FCA will paste the correlation

coefficient to the underlying application. To paste the

y-intercept, use K; and to paste the slope, use L. The

regression line has the standard form,

Y = K + LX

As usual, N is the number of pairs of data entered in the

REGRESSION window. The correlation coefficient may be obtained by

entering R.

F is also calculated by FCA, and in the REGRESSION window, will

always be set to N - 2.

REGRESSION is available only to registered users.

BIN

---

This function returns the cumulative binomial probability of the

occurrence of X or fewer events in a sample of size N, where the

probability of a single event is Q, as well as the point

probability in register Y. The syntax is

BIN X N Q

corresponding to the summation of all values of the binomial

frequency distribution for occurrences ranging between 0 and X.

Taking an example from Spiegel's Statistics (Schaum Outline

Series, p 127), find the probability that at most 2 bolts (i.e.

either 0, 1, or 2) will be defective in a sample of 4 taken from

a production process in which 20% of all bolts produced are

defective. Here, we use

BIN 2 4 0.2 [= 0.9728

the same answer given by Spiegel.

The probability that exactly 2 bolts will be defective in this

problem is obtained merely by entering the Y register

Y [= 0.1536

POIS

----

This is the Poisson cumulative probability of the occurrence of

X or fewer events in a sample of size N, where the probability

of a single event is Q - using same syntax as BIN:

POIS X N Q

The 'integration' logic used by FCA here is the same as for the

binomial distribution. That is, the result found is the

summation of the individual Poisson probabilities from 0 to X.

The point probability is found in register Y.

The primary reason why this distribution is needed to supplement

the Binomial, is that the latter has a restricted range, owing to

the fact that it uses the factorial function to operate on the

sample size. This function explodes beyond the number range

intelligible to FCA for arguments larger than 170. The Poisson

distribution also uses the factorial function, but only on the

value of X. It is therefore capable of dealing with very large

sample sizes. The disadvantage of the Poisson is that it is only

an approximation to the Binomial.

Using another example out of Spiegel's text, we may find the

probability that more than 2 individuals out of a sample of 2000

will suffer a bad reaction from a certain injection, if the

probability that any individual will suffer is 0.001. This

problem is clearly beyond the capabilities of the binomial

distribution. The problem is solved first by finding the

probability that at least 2 will suffer. This is:

POIS 2 2000 0.001 [= 0.6767

The probability that more than 2 will suffer is obviously 1

minus this result:

1 - C [= 0.3233

which is the same as Spiegel's result.

The probability that exactly 2 persons will suffer in this

problem is found in register Y:

Y [= 0.2707

NORM

----

The syntax for the normal probability is

NORM [X M S F] | [Z]

The form here indicates two modes of data entry; one which

involves inputting the sample mean X, the population mean M, the

sample standard deviation S, and the degrees of freedom F

associated with that sample - or simply the z-score. The value of

F should be equal to N - 1; that is, it should be one minus the

sample size. FCA will automatically calculate the appropriate

z-score if the first data entry method is used. The result is

found in register Z.

The terminology used here is compatible with the terminology used

in the MEAN section of FCA. Since FCA only uses the absolute

value of the z-score to calculate the probability of the null

hypothesis, it does not matter whether MEAN is used to compute

population or sample means.

Thus, after entering the sample in MEAN, the user may exit and

test a particular value of X, say 5, against those results by

entering

NORM 5 M S F

FCA will pick up the values of M, S, F and proceed to calculate

the z-score for the X-value 5. The result returned in C (and

pasted to text, if STUF mode is active) is the probability of the

null hypothesis - that is, the 'one-tailed' cumulative Normal

probability associated with values of X equal to or greater than

5.

If only one parameter is entered, NORM assumes that this value

is the raw z-score. For example, the one-tailed Normal

probability for a z-score of 1.96 is:

NORM 1.96 [= 2.500e-02

which checks exactly with any standard table of Normal

probabilities. 1.96 will be recognised by statisticians as the

usual z-score associated with defining a two-tailed 95% confidence

interval about a mean [2.500e-02 = 1 - 0.95/2].

The Normal ordinate for the input value of 1.96 is available in Y:

Y

STUD

----

The Normal distribution is not very useful except on large

samples, for which reason the Student distribution was developed

earlier this Century by Gosset. The syntax is -

STUD [X M S F] | [Z F]

Same remarks for these variables and their purpose as given above

for NORM. Note that, if the calculation of the t-score is avoided

and direct entry is desired, the user must enter degrees of

freedom F along with the score.

For example, if the t-score is 12.706 based on a sample size

only two data, so that there is only 1 degree of freedom, then

the probability of the null hypothesis is

STUD 12.706 1 [= 2.500e-02

which agrees exactly with statistical tables on the Student

distribution.

FCA does not yet support recovery of the Student ordinate values.

The point about the importance of large samples for the Normal

distribution may be seen by noting how many degrees of freedom are

necessary to bring the Student probability into line with the

Normal, using a constant score of 1.96. This can be seen in the

following brief chart:

Z = 1.96

-------------------

Degrees of freedom Student probability

------------------ -------------------

1 0.150

10 3.922e-02

30 2.967e-02

100 2.639e-02

500 2.528e-02

5000 2.503e-02

Note how the Student probability converges to the Normal as very

large amounts of data are used to calculate the sample mean. Note

also the probability with a sample size of 31 (F = 30): the value

there is close enough to the Normal value of 2.500e-02 to let the

Normal present a reasonably accurate picture of a two-tailed 95%

confidence interval on that sample size. This is the reason why

most statisticians don't consider a Normal test to be good unless

the sample is based on at least 30 pieces of data.

In text editing applications, where the user is evaluating a small

number of results, say, sample sizes of the order of 3 to 12

pieces of data, and wants a quick analysis, the Normal

distribution will not be helpful at all: The Student distribution

will be required. And it is quite handy to have such a

distribution immediately accessible at the touch of a hotkey.

I have referred here to the "t-score"; but the syntax of the STUD

function uses the variable Z. This is due to the fact that FCA

uses the same definition for the standard deviation throughout all

its statistics routines, resulting in the fact that the z-score

and the t-score use the same formulas. This being the case, it

was not necessary to distinguish a "T" variable for separate use

with the Student distribution.

Wait time

---------

The Student integral is a relatively complex and slowly converging

infinite series, and so, certain combinations of values will cause

FCA to display the message

Wait ...

for an appreciable length of time. This means that the integral

is being calculated. As stated above in the introductory portion

of this file, FCA will take full advantage of a numeric

coprocessor, if one is installed. Experiment shows that Student

probability calculations run between 30 and 60 times faster when

when there is an installed coprocessor.

Normally, this wait time problem is not significant. But for very

large t-scores and small values of F, execution time for the

Student probability may prove to be substantial, even for fast

machines. For example,

STUD 64 1 [= 4.973e-03

requires 8 seconds on a 20 Mhz 386/387 machine. On a 486 machine,

the expectation is that this result would require somewhat less

than 2 seconds, since all such machines have numeric coprocessor

capability built-in.

On a 6 MHz AT without coprocessor, however, this calculation will

require more than 22 MINUTES.

So, if you see 'Wait ...' just wait: your machine is NOT hung.

And avoid Z values substantially larger than 10, unless you have a

coprocessor, or are prepared to wait for the result. Execution

time rises about as the square of Z and drops in rough linear

proportion to the value of F.

Nearly always, however, the user will not be considering such

large t-scores and will have samples which are larger than just

two pieces of data (1 degree of freedom). For example, a t-score

of 2.78 based on a calculated mean of a sample of size 5 -

STUD 2.78 4 [= 2.491e-02

executes virtually instantaneously on a 386/387, and requires

about 3 seconds on a 6 MHz AT without coprocessor.

Prompt Colour

-------------

As stated above, to change the colour of the calculation window,

simply enter

COLOR x

in the window, where x is a COLOR number. The default is 112,

which describes black foreground on a white background. 0 is

impossible (black on black), and so FCA converts that number to

112 automatically. Foreground and Background colours may be

determined by using the following table:

Back Fore Bright Fore

---- ---- -----------

Black 0 0 8

Blue 16 1 9

Green 32 2 10

Cyan 48 3 11

Red 64 4 12

Magenta 80 5 13

Brown 96 6 14

White 112 7 15

The correct COLOR number is found merely by adding the Foreground

number to the Background number desired. For example, Bright

Green on Blue background is 10 + 16 = 26.

Avoid setting COLOR above 127. Values above that limit will

produce blinking displays.

In my estimation the COLORs best for the eye are 10, 11, 14, 15,

26, 27, 30, 31, 74, 75, 78, 79 and 112. But you may have other

ideas. Example,

COLOR 75

sets the window to Bright Cyan on a Red background.

Errors

------

FCA supports error reports as follows -

xyz: illegal - This message occurs where your entered

instruction, 'xyz', is not recognised by

FCA. For example, 'TAN89' is illegal;

should be 'TAN 89'.

Read examples in documentation above to

be sure you understand how to enter

expressions.

Illegal X setting - This means that you have tried to save

the value of unsupported register into

X. The supported registers are listed

on the help screen.

Zero divide error - Attempt to divide by zero. This can be

an explicit mistake, like '5 / 0', or it

may be an attempt to calculate the value

of a unary function which divides two

other functions to obtain its result.

For example, the TAN, or Tangent of an

angle, is really the ratio of the Sine

and the Cosine of that angle; but the

Cosine of 90 degrees is zero, so trying

to find the Tangent of 90 will generate

this error.

Negative base error - You tried raising a negative number to a

power (cannot be done on real numbers).

Negative argument error - You tried taking the LOG of a negative

number (cannot be done on real numbers).

Requires registration - This means you are trying to access a

function accessible only to registered

users. (Send in your contribution, and

get full access!)

FCA 2.4 also adds numerous other specific error message readouts,

providing diagnostics on values of special variables, especially

in reference to the probility and statistics functions. These are

all self-explanatory.

CAUTION

-------

Certain types of editors will not work consistently with FCA - in

particular, editors which simulate the Macintosh console

environment, such as the Microsoft DOS 5.0 Editor. Like Microsoft

Windows, these environments do certain tricks with video display -

and, so I understand, certain tricks to redefine one or more

interrupt functions - which lead to machine hangs when FCA and

other similar TSR's are run concurrently with them. (The problem

here is not unique to FCA, as collateral testing of other TSR

calculators has shown).

Further, like all memory resident programs, FCA is vulnerable to

compatibility problems which may arise from its use with other

TSR's. If you find you must reboot, try removing other memory

resident programs from your AUTOEXEC.BAT file, or try changing the

sequence in which they are loaded until you find the best

combination.

However, tests have shown that FCA is much less vulnerable to

interrupt collisions and other compatibility problems than other

resident floating point calculators.

One category of TSR which is almost guaranteed to cause trouble

for FCA (and for any program which stuffs keystrokes into the

keyboard buffer) are programs like 128KEY.COM, which lengthen or

change the effective size of the keyboard buffer. Don't use such

programs with FCA.

FCA is primarily intended to work with editors and wordprocessors,

and has been tested on Wordperfect 5.0, Galaxy 2.42, Captain

Blackbeard 1.13, SLED 1.1, QEDIT 2.08, pEDIT 2.10, and a number of

other editors/wordprocessors, with no confirmed problem or

abnormality.

FCA is recommended for use as the last memory resident program

loaded, so as to permit the use of the /U commandline option to

unload it from memory, and only in standard text-editing or

wordprocessing applications. Unless you have found that FCA works

with your non-standard application, it is recommended that you

take the precaution of unloading FCA before you invoke such an

application.

----------------------

End of documentation

December 12, 2017
Add comments