Node:floating-ambcond,
Previous:floating-idef,
Up:The optional Floating-Point word set
Ambiguous conditions
df@
or df!
used with an address that is not double-float aligned:
- System-dependent. Typically results in a
-23 THROW
like other
alignment violations.
f@
or f!
used with an address that is not float aligned:
- System-dependent. Typically results in a
-23 THROW
like other
alignment violations.
- floating-point result out of range:
- System-dependent. Can result in a
-43 throw
(floating point
overflow), -54 throw
(floating point underflow), -41 throw
(floating point inexact result), -55 THROW
(Floating-point
unidentified fault), or can produce a special value representing, e.g.,
Infinity.
sf@
or sf!
used with an address that is not single-float aligned:
- System-dependent. Typically results in an alignment fault like other
alignment violations.
base
is not decimal (REPRESENT
, F.
, FE.
, FS.
):
- The floating-point number is converted into decimal nonetheless.
- Both arguments are equal to zero (
FATAN2
):
- System-dependent.
FATAN2
is implemented using the C library
function atan2()
.
- Using
FTAN
on an argument r1 where cos(r1) is zero:
- System-dependent. Anyway, typically the cos of r1 will not be zero
because of small errors and the tan will be a very large (or very small)
but finite number.
- d cannot be presented precisely as a float in
D>F
:
- The result is rounded to the nearest float.
- dividing by zero:
- Platform-dependent; can produce an Infinity, NaN,
-42 throw
(floating point divide by zero) or -55 throw
(Floating-point
unidentified fault).
- exponent too big for conversion (
DF!
, DF@
, SF!
, SF@
):
- System dependent. On IEEE-FP based systems the number is converted into
an infinity.
- float<1 (
FACOSH
):
- Platform-dependent; on IEEE-FP systems typically produces a NaN.
- float=<-1 (
FLNP1
):
- Platform-dependent; on IEEE-FP systems typically produces a NaN (or a
negative infinity for float=-1).
- float=<0 (
FLN
, FLOG
):
- Platform-dependent; on IEEE-FP systems typically produces a NaN (or a
negative infinity for float=0).
- float<0 (
FASINH
, FSQRT
):
- Platform-dependent; for
fsqrt
this typically gives a NaN, for
fasinh
some platforms produce a NaN, others a number (bug in the
C library?).
- |float|>1 (
FACOS
, FASIN
, FATANH
):
- Platform-dependent; IEEE-FP systems typically produce a NaN.
- integer part of float cannot be represented by d in
F>D
:
- Platform-dependent; typically, some double number is produced and no
error is reported.
- string larger than pictured numeric output area (
f.
, fe.
, fs.
):
Precision
characters of the numeric output area are used. If
precision
is too high, these words will smash the data or code
close to here
.