pfe-floating-misc-ext ? FLOATING-Misc Compatibility words
FLIT ?=>? ( | ); | ? |
"FORTH";FP@ ( -- addr ) ?=>? ( | ); | ? |
"FORTH";FP! ( addr -- ) ?=>? ( | ); | ? |
"FORTH";F= ?=>? ( | ); | ? |
"FORTH";F<> ( f: a b -- s: a!=b ) ?=>? ( | ); | ? |
"FORTH";F> ?=>? ( | ); | ? |
"FORTH";F<= ?=>? ( | ); | ? |
"FORTH";F>= ?=>? ( | ); | ? |
"FORTH";S>F ( n -- f: x ) ?=>? ( | ); | ? |
"FORTH";FTRUNC>S (f: x -- s: n ) ?=>? ( | ); | ? |
"FORTH";FROUND>S (f: x -- s: n) ?=>? ( | ); | ? |
"FORTH";FTRUNC (f: x -- x' ) ?=>? ( | ); | ? |
"FORTH";-FROT (f: x1 x2 x3 -- x3 x1 x2 ) ?=>? ( | ); | ? |
"FORTH";FNIP (f: x1 x2 -- x2 ) ?=>? ( | ); | ? |
"FORTH";FTUCK (f: x1 x2 -- x2 x1 x2 ) ?=>? ( | ); | ? |
"FORTH";1/F (f: x -- 1/x ) ?=>? ( | ); | ? |
"FORTH";F^2 (f: x -- x^2 ) ?=>? ( | ); | ? |
"FORTH";F^N ( u f: x -- x^u ) ?=>? ( | ); | ? |
"FORTH";F2/ (f: x -- x/2 ) ?=>? ( | ); | ? |
"FORTH";F2* (f: x -- x*2 ) ?=>? ( | ); | ? |
"FORTH";F0> (f: x -- s: flag ) ?=>? ( | ); | ? |
"FORTH";F0<> (f: x -- s: flag ) ?=>? ( | ); | ? |
"FORTH";
FLIT - no description, sorry
FP@ ( -- addr ) => "FORTH"
returns the floating point stack pointer
FP! ( addr -- ) => "FORTH"
sets the floating point stack pointer -
this is the inverse of FP@
F= - no description, sorry
F<> ( f: a b -- s: a!=b ) => "FORTH"
F> - no description, sorry
F<= - no description, sorry
F>= - no description, sorry
S>F ( n -- f: x ) => "FORTH"
it's inverse is F>S - convert a cell parameter to floating-point.
FTRUNC>S (f: x -- s: n ) => "FORTH"
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.
FROUND>S (f: x -- s: n) => "FORTH"
complements FTRUNC>S for applications that expect F>S to
be defined with a rounding behavior like
: FROUND>S FROUND FTRUNC>S ;
FTRUNC (f: x -- x' ) => "FORTH"
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)
-FROT (f: x1 x2 x3 -- x3 x1 x2 ) => "FORTH"
F-stack equivalent of -ROT
note, some systems call this work F-ROT,
here it is the inverse of FROT
FNIP (f: x1 x2 -- x2 ) => "FORTH"
F-stack equivalent of NIP
FTUCK (f: x1 x2 -- x2 x1 x2 ) => "FORTH"
F-stack equivalent of TUCK
1/F (f: x -- 1/x ) => "FORTH"
F^2 (f: x -- x^2 ) => "FORTH"
F^N ( u f: x -- x^u ) => "FORTH"
For large exponents, use F** instead. Of course u=-1 is large.
F2/ (f: x -- x/2 ) => "FORTH"
F2* (f: x -- x*2 ) => "FORTH"
F0> (f: x -- s: flag ) => "FORTH"
F0<> (f: x -- s: flag ) => "FORTH"