PFE - Portable Forth Environment - pfe Forth Wordsets

  PFE 0.33.71 Homepage SourceForge Download Documentation -Overview -The PFE Manual old manual / (book) -ChangeLog -Authors -License (LGPL) -Wordsets / (book) -Functions .. (book) -Dp of ANS Forth -The 4thTutor -Forthprimer.pdf - Old Wordsets - Old Words List Forth Links * Forth Repository * Taygeta Compilation * TinyBoot FirmWare * FiCL, Free Forth * Research Vienna * Research Bournemouth * zForth WebRing Other Links * Tektronix/MPT * Forth Org. (FIG) * Forth Inc. * MPE Ltd. Forths * SF Win32Forth * PD Win32Forth * Neil Bawd generated (C) Guido U. Draheim guidod@gmx.de | ## FpNoStack Floating point + extensions `>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]