pfe-fpnostack-ext
Prev? | pfe Forth Wordset List | ?Next

## Name

pfe-fpnostack-ext ? FpNoStack Floating point + extensions

## Synopsis

`>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"`;
?

## Description

>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&gt;S FROUND FTRUNC&gt;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&lt; 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

Prev? | Up | ?Next
pfe-forth-usual-ext? | Home | ?pfe-gforth-ext