home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
SIMTEL
/
CPMUG
/
CPMUG023.ARK
/
FLOATPNT.DOC
< prev
next >
Wrap
Text File
|
1984-04-29
|
4KB
|
147 lines
***************************************************************************
** COPYRIGHT (C) MASSACHUSETTS INSTITUTE OF TECHNOLOGY AND HARVARD **
** UNIVERSITY, BIOMEDICAL ENGINEERING CENTER 1977. ALL RIGHTS RESERVED. **
***************************************************************************
FLOATING POINT
J. SACHS 2/2/77
FLOATING POINT IN ADDED TO STOIC BY LOADING THE FILE "FP".
SUBSEQUENT TO LOADING "FP", FLOATING POINT LITERALS ARE
RECOGNIZED BY STOIC, AND A SET OF FLOATING POINT WORDS ARE
DEFINED. THE FORMAT OF FLOATING POINT NUMBERS IS AS
FOLLOWS:
BYTE CONTENTS FORMAT
0 SIGN =0 FOR POSITIVE
=80 HEX FOR NEGATIVE
1 EXPONENT 8-BIT 2'S COMPLEMENT
2,3 FRACTION UNSIGNED BINARY
BINARY POINT IS JUST LEFT OF THE MSB
WHEN A FLOATING POINT NUMBER IS ON THE STACK, THE SIGN/EXPONENT
WORD IS ON TOP, THE FRACTION IS AT TOP - 1. PRECISION IS BETTER THAN 4 1/2
DECIMAL PLACES. WHEN A FLOATING POINT NUMBER IS STORED IN MEMORY, THE
SIGN/EXPONENT WORD IS AT (ADDRESS), THE FRACTION IS AT (ADDRESS+2).
FLOATING POINT LITERALS ARE THE SAME AS INTEGER LITERALS EXCEPT THAT THEY
MAY INCLUDE A DECIMAL POINT AND MAY OPTIONALLY BE FOLLOWED BY AN "E"
FOLLOWED BY AN EXPONENT. EMBEDDED SPACES WITHIN THE LITERAL ARE NOT ALLOWED.
FLOATING POINT LITERALS ARE ALWAYS DECIMAL.
EXAMPLES:
1.
2.0E-1
+12.345
-5.0E-3
THE FOLLOWING WORDS MAKE UP THE FLOATING POINT PACKAGE:
FCONSTANT DEFINES A FLOATING POINT CONSTANT
FVARAIBLE DEFINES A FLOATING POINT VARIABLE
EXAMPLES:
2.71828 'E FCONSTANT
0.0 'X FVARAIBLE
PI A FLOATING POINT CONSTANT EQUAL TO 3.1416
F@ PUSHES THE FLOATING POINT NUMBER ADDRESSED BY THE TOP
OF THE STACK.
F! STORES THE FLOATING POINT NUMBER AT TOP - 1 AND TOP - 2
AT THE ADDRESS AT TOP.
D2OVER PUSH A COPY OF TOP-3,TOP-2
D3OVER PUSH A COPY OF TOP-5,TOP-4
D2UNDER STORE TOP-1,TOP AT TOP-5,TOP-4
D3UNDER STORE TOP-1,TOP AT TOP-7,TOP-6
FMINUS FLOATING POINT NEGATE
FABS FLOATING POINT ABSOLUTE VALUE
F+ FLOATING POINT ADD
F- FLOATING POINT SUBTRACT
F* FLOATING POINT MULTIPLY
F/ FLOATING POINT DIVIDE
F+! FLOATING POINT ADD TO MEMORY
FLOAT CONVERT THE INTEGER AT TOP TO FLOATING POINT
INTEGER TRUNCATE THE FLOATING POINT NUMBER AT TOP-1,TOP TO
AN INTEGER.
FRAC PUSH THE FRACTION PART OF THE FLOATING POINT NUMBER
ON THE TOP OF THE STACK
FMOD FLOATING POINT MOD FUNCTION.
COMPUTED AT ARG2*FRAC(ARG1/ARG2)
FLTZ FLOATING POINT LESS THAN ZERO
FLEZ FLOATING POINT LESS THAN OR EQUAL TO ZERO
FGTZ FLOATING POINT GREATER THAN ZERO
FGEZ FLOATING POINT GREATER THAN OR EQUAL TO ZERO
FEQZ FLOATING POINT EQUAL TO ZERO
FNEZ FLOATING POINT NOT EQUAL TO ZERO
FLT FLOATING POINT LESS THAN
FLE FLOATING POINT LESS THAN OR EQUAL TO
FGT FLOATING POINT GREATER THAN
FGE FLOATING POINT GREATER THAN OR EQUAL TO
FEQ FLOATING POINT EQUAL TO
FNE FLOATING POINT NOT EQUAL TO
FSQRT FLOATING POINT SQUARE ROOT
FSIN FLOATING POINT SINE (ARGUMENT IN RADIANS)
FCOS FLOATING POINT COSINE (ARGUMENT IN RADIANS)
FATAN FLOATING POINT ARCTANGENT (SINGLE ARGUMENT, RESULT IN RADIANS)
FLN FLOATING POINT LOG BASE E
FLOG2 FLOATING POINT LOG BASE 2
FLOG10 FLOATING POINT LOG BASE 10
FEXP FLOATING POINT EXPONENTIAL BASE E
2.0** FLOATING POINT EXPONENTIAL BASE 2
10.0** FLOATING POINT EXPONENTIAL BASE 10
F= FLOATING POINT E-FORMAT PRINT
F? PRINT FLOATING POINT NUMBER ADDRESSED BY TOP OF STACK
FLITERAL
ACCEPTS A STRING ARGUMENT AT TOP AND ATTEMPTS
TO CONVERT THE STRING TO A FLOATING POINT NUMBER.
IF SUCCESSFUL, A -1 IS LEFT AT TOP, AND THE VALUE IS
RETURNED AT TOP - 1 AND TOP - 2. IF NOT SUCCESSFUL,
A ZERO IS RETURNED AT TOP.
<LSQ INITIATE A LINEAR LEAST SQUARES FIT.
LSQ ACCEPTS TWO FLOATING POINT NUMBERS, A Y COORDINATE AT TOP
AND AN X COORDINATE BENEATH. THIS POINT (X,Y) IS PROCESSED.
LSQ> WHEN "LSQ" HAS BEEN CALLED FOR ALL INPUT POINTS, "LSQ>" IS
CALLED, RETURNING THE SLOPE AND INTERCEPT OF THE LINEAR LEAST
SQUARES FIT TO THE GIVEN POINTS. (SLOPE RETURNED AT TOP,
Y-INTERCEPT AT TOP - 1)
FRAND RETURNS A RANDOM FLOATING POINT NUMBER UNIFORMLY DISTRIBUTED
BETWEEN 0.0 AND 1.0.
***EOF***