pfe-fpnostack-ext ? FpNoStack Floating point + extensions
>FLOAT ?=>? ( | ) ; | ? |
"EXTENSIONS"
;D>F ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F! ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F* ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F+ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F- ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F/ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F0< ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F0= ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F< ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F> ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F= ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F<> ( f: a b -- s: a!=b ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F<= ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F>= ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F>D ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F@ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FALIGN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FALIGNED ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FDEPTH ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FDROP ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FDUP ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FLITERAL ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FLOAT+ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FLOATS ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FLOOR ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FMAX ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FMIN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FNEGATE ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FOVER ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FROT ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FROUND ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FSWAP ?=>? ( | ) ; | ? |
"EXTENSIONS"
;REPRESENT ?=>? ( | ) ; | ? |
"EXTENSIONS"
;DF! ?=>? ( | ) ; | ? |
"EXTENSIONS"
;DF@ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;DFALIGN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;DFALIGNED ?=>? ( | ) ; | ? |
"EXTENSIONS"
;DFLOAT+ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;DFLOATS ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F** ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F. ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FABS ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FACOS ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FACOSH ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FALOG ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FASIN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FASINH ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FATAN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FATAN2 ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FATANH ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FCOS ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FCOSH ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FE. ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FEXP ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FEXPM1 ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FLN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FLNP1 ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FLOG ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FS. ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FSIN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FSINCOS ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FSINH ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FSQRT ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FTAN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FTANH ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F~ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;SET-PRECISION ?=>? ( | ) ; | ? |
"EXTENSIONS"
;SF! ?=>? ( | ) ; | ? |
"EXTENSIONS"
;SF@ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;SFALIGN ?=>? ( | ) ; | ? |
"EXTENSIONS"
;SFALIGNED ?=>? ( | ) ; | ? |
"EXTENSIONS"
;SFLOAT+ ?=>? ( | ) ; | ? |
"EXTENSIONS"
;SFLOATS ?=>? ( | ) ; | ? |
"EXTENSIONS"
;S>F ( n -- f: x ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FTRUNC>S (f: x -- s: n ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FROUND>S (f: x -- s: n) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FTRUNC (f: x -- x' ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;-FROT (f: x1 x2 x3 -- x3 x1 x2 ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FNIP (f: x1 x2 -- x2 ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;FTUCK (f: x1 x2 -- x2 x1 x2 ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;1/F (f: x -- 1/x ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F^2 (f: x -- x^2 ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F^N ( u f: x -- x^u ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F2/ (f: x -- x/2 ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F2* (f: x -- x*2 ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F0> (f: x -- s: flag ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;F0<> (f: x -- s: flag ) ?=>? ( | ) ; | ? |
"EXTENSIONS"
;MAX-FLOAT ?=>? ( | ) ; | ? |
"EXTENSIONS"
;
>FLOAT - no description, sorry
D>F - no description, sorry
F! - no description, sorry
F* - no description, sorry
F+ - no description, sorry
F- - no description, sorry
F/ - no description, sorry
F0< - no description, sorry
F0= - no description, sorry
F< - no description, sorry
F> - no description, sorry
F= - no description, sorry
F<> ( f: a b -- s: a!=b ) => "EXTENSIONS"
F<= - no description, sorry
F>= - no description, sorry
F>D - no description, sorry
F@ - no description, sorry
FALIGN - no description, sorry
FALIGNED - no description, sorry
FDEPTH - no description, sorry
FDROP - no description, sorry
FDUP - no description, sorry
FLITERAL - no description, sorry
FLOAT+ - no description, sorry
FLOATS - no description, sorry
FLOOR - no description, sorry
FMAX - no description, sorry
FMIN - no description, sorry
FNEGATE - no description, sorry
FOVER - no description, sorry
FROT - no description, sorry
FROUND - no description, sorry
FSWAP - no description, sorry
REPRESENT - no description, sorry
DF! - no description, sorry
DF@ - no description, sorry
DFALIGN - no description, sorry
DFALIGNED - no description, sorry
DFLOAT+ - no description, sorry
DFLOATS - no description, sorry
F** - no description, sorry
F. - no description, sorry
FABS - no description, sorry
FACOS - no description, sorry
FACOSH - no description, sorry
FALOG - no description, sorry
FASIN - no description, sorry
FASINH - no description, sorry
FATAN - no description, sorry
FATAN2 - no description, sorry
FATANH - no description, sorry
FCOS - no description, sorry
FCOSH - no description, sorry
FE. - no description, sorry
FEXP - no description, sorry
FEXPM1 - no description, sorry
FLN - no description, sorry
FLNP1 - no description, sorry
FLOG - no description, sorry
FS. - no description, sorry
FSIN - no description, sorry
FSINCOS - no description, sorry
FSINH - no description, sorry
FSQRT - no description, sorry
FTAN - no description, sorry
FTANH - no description, sorry
F~ - no description, sorry
SET-PRECISION - no description, sorry
SF! - no description, sorry
SF@ - no description, sorry
SFALIGN - no description, sorry
SFALIGNED - no description, sorry
SFLOAT+ - no description, sorry
SFLOATS - no description, sorry
S>F ( n -- f: x ) => "EXTENSIONS"
it's inverse is F>S
- convert a cell parameter to floating-point.
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
.
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 ;
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)
-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
FNIP (f: x1 x2 -- x2 ) => "EXTENSIONS"
F-stack equivalent of NIP
FTUCK (f: x1 x2 -- x2 x1 x2 ) => "EXTENSIONS"
F-stack equivalent of TUCK
1/F (f: x -- 1/x ) => "EXTENSIONS"
F^2 (f: x -- x^2 ) => "EXTENSIONS"
F^N ( u f: x -- x^u ) => "EXTENSIONS"
For large exponents, use F** instead. Of course u=-1 is large.
F2/ (f: x -- x/2 ) => "EXTENSIONS"
F2* (f: x -- x*2 ) => "EXTENSIONS"
F0> (f: x -- s: flag ) => "EXTENSIONS"
F0<> (f: x -- s: flag ) => "EXTENSIONS"
MAX-FLOAT - no description, sorry