home *** CD-ROM | disk | FTP | other *** search
-
-
- ***************************************************************************
- ** 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***
-
-