MATH.PAS
type definitions

Depending upon whether or not MATH.PAS
is compiled to do

floating
point manipulations in hardware or software, the

routines
will return different values.

float = either "real" or
"double" depending upon the

status of the N option.

xfloat = either "real" or
"extended" depending upon the

status of the N option.

The "float" type is expected
to be the primary storage

mechanism
for application programs. The
"xfloat" type is

provided
to maximize precision in expressions.
There are only a

few
functions where it is important to know the difference. They

are:

deg2dms -- returns "float"
values through the DMS

arguments

modf -- returns a
"float" value through one of its

arguments

poly -- expects the polynomial coefficients to be an

array of "float"

rad2dms -- returns "float"
values through the DMS

arguments

remf -- returns a "float" value through one of its

arguments

(Because
of Turbo Pascal's strong type-checking, you may run into

an
occasional problem where you've declared a "real" or "double"

variable
-- or you're redefined "float" in another unit -- and

can't
pass the variable to one of the above routines. In those

cases,
you should be able to do variable type-casting --

"math.float(x)"
to bypass the type-checking. This
should be done

with
care.)

For
programmer convenience, MATH.PAS defines a structured type

called
"floatray" which is the largest array that can hold

elements
of type "float" (as defined above).
There is normally

no need
to refer to "floatray" in application programs.