A unified stack notation is provided for systems with the environmental restriction that the floating-point numbers are kept on the data stack.
Append table 12.1 to table 3.1.
Symbol | Data type | Size on stack |
df-addr | double-float-aligned address | 1 cell |
f-addr | float-aligned address | 1 cell |
r | floating-point number | implementation-defined |
sf-addr | single-float-aligned address | 1 cell |
The set of float-aligned addresses is an implementation-defined subset of the set of aligned addresses. Adding the size of a floating-point number to a float-aligned address shall produce a float-aligned address.
The set of double-float-aligned addresses is an implementation-defined subset of the set of aligned addresses. Adding the size of a 64-bit IEEE double-precision floating-point number to a double-float-aligned address shall produce a double-float-aligned address.
The set of single-float-aligned addresses is an implementation-defined subset of the set of aligned addresses. Adding the size of a 32-bit IEEE single-precision floating-point number to a single-float-aligned address shall produce a single-float-aligned address.
The internal representation of a floating-point number, including the format and precision of the significand and the format and range of the exponent, is implementation defined.
Any rounding or truncation of floating-point numbers is implementation defined.
"Round to nearest" means round the result of a floating-point operation to the representable value nearest the result. If the two nearest representable values are equally near the result, the one having zero as its least significant bit shall be delivered.
"Round toward negative infinity" means round the result of a floating-point operation to the representable value nearest to and no greater than the result.
"Round toward zero" means round the result of a floating-point operation to the representable value nearest to zero, frequently referred to as "truncation".
A last in, first out list that shall be used by all floating-point operators.
The width of the floating-point stack is implementation-defined. The floating-point stack shall be separate from the data and return stacks.
The size of a floating-point stack shall be at least 6 items.
A program that depends on the floating-point stack being larger than six items has an environmental dependency.
See: 3.2.6 Environmental queries.
String Value data type | Constant? | Meaning | |
FLOATING-STACK | n | yes | the maximum depth of the separate floating-point stack. On systems with the environmental restriction of keeping floating-point items on the data stack, n = 0. |
MAX-FLOAT | r | yes | largest usable floating-point number |
See: 3.3.3.1 Address alignment, 12.3.1.1 Addresses.
If the Floating-Point word set is present in the dictionary and the current base is DECIMAL, the input number-conversion algorithm shall be extended to recognize floating-point numbers in this form:
Convertible string | := | <significand><exponent> |
<significand> | := | [<sign>]<digits>[.<digits0>] |
<exponent> | := | E[<sign>]<digits0> |
<sign> | := | { + | - } |
<digits> | := | <digit><digits0> |
<digits0> | := | <digit>* |
<digit> | := | { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 } |
These are examples of valid representations of floating-point numbers in program source:
1E 1.E 1.E0 +1.23E-1 -1.23E+1
See: 3.4.1.3 Text interpreter input number conversion, 12.6.1.0558 >FLOAT.
The phrase "Providing name(s) from the Floating-Point Extensions word set" shall be appended to the label of any Standard System that provides portions of the Floating-Point Extensions word set.
The phrase "Providing the Floating-Point Extensions word set" shall be appended to the label of any Standard System that provides all of the Floating-Point and Floating-Point Extensions word sets.
The phrase "Requiring name(s) from the Floating-Point Extensions word set" shall be appended to the label of Standard Programs that require the system to provide portions of the Floating-Point Extensions word set.
The phrase "Requiring the Floating-Point Extensions word set" shall be appended to the label of Standard Programs that require the system to provide all of the Floating-Point and Floating-Point Extensions word sets.