Category : Financial and Statistics
Archive   : RFA24.ZIP
Filename : FCA.DOC

Output of file : FCA.DOC contained in archive : RFA24.ZIP
FCA 2.4

Resident Floating Point Scientific Calculator

Bob Eyer

May 10, 1992

³ ³
³ 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. ³
³ ³
³ ³
³ -------------------------------------------------------------- ³
³ ³
³ 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 ³
³ 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. ³
³ ³


Help screen

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

Modes: places COLOR y RAD/DEG
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
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

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.

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.

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.

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.

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.

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 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.

! 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

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

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


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

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:


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

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




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.

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


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

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:


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

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


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

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:


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

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


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,


sets the window to Bright Cyan on a Red background.

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

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.

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

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

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

End of documentation

  3 Responses to “Category : Financial and Statistics
Archive   : RFA24.ZIP
Filename : FCA.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: