>FLOAT
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_to_float]
D>F
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_to_f]
F!
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_store]
F*
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_star]
F+
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_plus]
F-
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_minus]
F/
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_slash]
F0<
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_zero_less]
F0=
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_zero_equal]
F<
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_less_than]
F>
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_greater_than]
F=
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_equal]
F<>
( f: a b -- s: a!=b )
=> "EXTENSIONS"
-
primitive code = [p4_nofp_f_not_equal]
F<=
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_less_than_or_equal]
F>=
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_greater_than_or_equal]
F>D
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_to_d]
F@
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_fetch]
FALIGN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_f_align]
FALIGNED
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_f_aligned]
FDEPTH
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_depth]
FDROP
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_drop]
FDUP
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_dup]
FLITERAL
=> "EXTENSIONS"
(no description)
compiling word = [p4_nofp_f_literal]
FLOAT+
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_float_plus]
FLOATS
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_floats]
FLOOR
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_floor]
FMAX
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_max]
FMIN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_min]
FNEGATE
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_negate]
FOVER
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_over]
FROT
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_rot]
FROUND
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_round]
FSWAP
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_swap]
REPRESENT
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_represent]
DF!
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_store]
DF@
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_fetch]
DFALIGN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_f_align]
DFALIGNED
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_f_aligned]
DFLOAT+
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_float_plus]
DFLOATS
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_d_floats]
F**
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_star_star]
F.
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_dot]
FABS
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_abs]
FACOS
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_acos]
FACOSH
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_acosh]
FALOG
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_alog]
FASIN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_asin]
FASINH
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_asinh]
FATAN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_atan]
FATAN2
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_atan2]
FATANH
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_atanh]
FCOS
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_cos]
FCOSH
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_cosh]
FE.
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_e_dot]
FEXP
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_exp]
FEXPM1
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_expm1]
FLN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_ln]
FLNP1
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_lnp1]
FLOG
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_log]
FS.
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_s_dot]
FSIN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_sin]
FSINCOS
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_sincos]
FSINH
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_sinh]
FSQRT
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_sqrt]
FTAN
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_tan]
FTANH
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_tanh]
F~
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_f_proximate]
SET-PRECISION
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_set_precision]
SF!
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_s_f_store]
SF@
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_s_f_fetch]
SFALIGN
=> "EXTENSIONS"
(no description)
primitive code = [p4_align]
SFALIGNED
=> "EXTENSIONS"
(no description)
primitive code = [p4_aligned]
SFLOAT+
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_s_float_plus]
SFLOATS
=> "EXTENSIONS"
(no description)
primitive code = [p4_nofp_s_floats]
S>F
( n -- f: x )
=> "EXTENSIONS"
it's inverse is F>S
- convert a cell parameter to floating-point.
primitive code = [p4_nofp_s_to_f]
FTRUNC>S
(f: x -- s: n )
=> "EXTENSIONS"
The word F>S
was sometimes defined with a different behavior
than FTRUNC>S
which is the type-cast behaviour of C according
to C99 section 6.3.1.4 - truncation would also match the ANS-Forth
specification for F>D
.
Some systems used F>S
defined to FROUND>S
instead. The pfe
provides explicit words for both conversions, the word FROUND>S
and FTRUNC>S
which return single-cell parameters for a floating
point number with the conversion method of FTRUNC
or FROUND
.
In PFE, F>S
is a synonym pointing to FTRUNC>S
in analogy
of the behavior of F>D
where no explicit word exists. The
inverse of F>S
is the cast conversion of S>F
.
primitive code = [p4_nofp_f_trunc_to_s]
FROUND>S
(f: x -- s: n)
=> "EXTENSIONS"
complements FTRUNC>S
for applications that expect F>S
to
be defined with a rounding behavior like
: FROUND>S FROUND FTRUNC>S ;
primitive code = [p4_nofp_f_round_to_s]
FTRUNC
(f: x -- x' )
=> "EXTENSIONS"
truncate towards zero, discard a fractional part. See also FTRUNC>S
conversion and the FROUND
and FLOOR
adaptors.
: FTRUNC FDUP F0< IF FCEIL ELSE FLOOR THEN ;
(When available, uses a single call to C99 trunc() internally)
primitive code = [p4_nofp_f_trunc]
-FROT
(f: x1 x2 x3 -- x3 x1 x2 )
=> "EXTENSIONS"
F-stack equivalent of -ROT
note, some systems call this work F-ROT,
here it is the inverse of FROT
primitive code = [p4_nofp_minus_f_rot]
FNIP
(f: x1 x2 -- x2 )
=> "EXTENSIONS"
F-stack equivalent of NIP
primitive code = [p4_nofp_f_nip]
FTUCK
(f: x1 x2 -- x2 x1 x2 )
=> "EXTENSIONS"
F-stack equivalent of TUCK
primitive code = [p4_nofp_f_tuck]
1/F
(f: x -- 1/x )
=> "EXTENSIONS"
-
primitive code = [p4_nofp_one_over_f]
F^2
(f: x -- x^2 )
=> "EXTENSIONS"
-
primitive code = [p4_nofp_f_square]
F^N
( u f: x -- x^u )
=> "EXTENSIONS"
For large exponents, use F** instead. Of course u=-1 is large.
primitive code = [p4_nofp_f_power_n]
F2/
(f: x -- x/2 )
=> "EXTENSIONS"
-
primitive code = [p4_nofp_f_two_slash]
F2*
(f: x -- x*2 )
=> "EXTENSIONS"
-
primitive code = [p4_nofp_f_two_star]
F0>
(f: x -- s: flag )
=> "EXTENSIONS"
-
primitive code = [p4_nofp_f_zero_greater]
F0<>
(f: x -- s: flag )
=> "EXTENSIONS"
-
primitive code = [p4_nofp_f_zero_not_equal]
MAX-FLOAT
=> "EXTENSIONS"
(no description)
primitive code = [p__nofp_max_float]