Next: Prefix Unary Operators, Previous: Functions, Up: Expression Evaluator

The `x1f4_e4_defaults`

function set implements a few common mathematical
and text generalities.

The `x1f4_e4_defaults`

object is an `x1f4_function_type`

array in
which the last element has the `name`

set to `NULL`

.

See x1f4_e4_defaults.

Among the include functions:

`real```Gacos`'(`real``x`);`real```Gadiff`'(`real``x`,`real``y`);is the in degrees specified smallest angle between degrees

`x`and degrees`y`(or something)`real```Garccos`'(`real``x`);`real```Garcctg2`'(`real``x`,`real``y`);is the in degrees specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result (same as ``Gatan2`'(`y`,`x`))`real```Garcdiff`'(`real``x`,`real``y`);`real```Garcsin`'(`real``x`);`real```Garctg`'(`real``x`);`real```Garctg2`'(`real``y`,`real``x`);`real```Gasin`'(`real``x`);`real```Gatan`'(`real``x`);`real```Gatan2`'(`real``y`,`real``x`);is the in degrees specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result`real```Gcos`'(`real``x`);`real```Gparcctg2`'(`real``x`,`real``y`);is the positively defined, in radians specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result (same as ``Gpatan2`'(`y`,`x`))`real```Gparctg2`'(`real``y`,`real``x`);`real```Gpatan2`'(`real``y`,`real``x`);is the positively defined, in degrees specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result`real```Gsin`'(`real``x`);`real```Gtan`'(`real``x`);`real```Gtg`'(`real``x`);`mode```abs`'(`mode``m`);`real```acos`'(`real``x`);`real```adiff`'(`real``x`,`real``y`);is the in radians specified smallest angle between radians

`x`and radians`y`(or something)`real```arccos`'(`real``x`);`real```arcctg2`'(`real``x`,`real``y`);is the in radians specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result (same as ``atan2`'(`y`,`x`))`real```arcdiff`'(`real``x`,`real``y`);`real```arcsin`'(`real``x`);`real```arctg`'(`real``x`);`real```arctg2`'(`real``y`,`real``x`);`real```asin`'(`real``x`);`real```atan`'(`real``x`);`real```atan2`'(`real``y`,`real``x`);is the in radians specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result`mode```base2`'(`mode``m`);is the greatest power of 2 less than or equal to

`m`if`m`is not less than zero, some undefined value otherwise`mode```bcount`'(`mode``m`);`real```ceil`'(`real``x`);`mode```compare`'(`text``s`,`text``t`);is 0 if

`s`is (case sensitive) same as`t`, less than 0 if`s`is less than`t`and greater than 0 if`s`is greater than`t``real```cos`'(`real``x`);`mode```deck2`'(`mode``m`);is the lesser power of 2 greater than or equal to

`m`if`m`is not less than zero, some undefined value otherwise`mode```drand`'(`mode``m`);`text```echo`'(`text``s`);`real```exp`'(`real``x`);is the value of e (the base of natural logarithms) raised to the power of

`x``real```exp2`'(`real``x`);`real```fabs`'(`real``x`);`real```fclip`'(`real``min`,`real``x`,`real``max`);is the minimum between

`max`and the maximum between`x`and`min``mode```ffs`'(`mode``m`);is the 1 based position of the first (least significant) bit set in

`m`if any, 0 otherwise`real```floor`'(`real``x`);`mode```fls`'(`mode``m`);is the 1 based position of the last (most significant) bit set in

`m`if any, 0 otherwise`real```fmax`'(`real``x`,`real``y`);`real```fmin`'(`real``x`,`real``y`);`real```fmod`'(`real``x`,`real``y`);is the remainder of dividing

`x`by`y`, more specifically`x`-`n`*`y`, where`n`is the quotient of`x`/`y`, rounded toward zero to an integer`real```fmodf`'(`real``x`);`real```frand`'(`void`);`real```fsign`'(`real``x`);`mode```gcd`'(`mode``m`,`mode``n`);`mode```iclip`'(`mode``min`,`mode``m`,`mode``max`);is the minimum between

`max`and the maximum between`m`and`min``real```imodf`'(`real``x`);`mode```irand`'(`mode``m`,`mode``n`);`mode```length`'(`text``s`);`real```limit`'(`real``x`);`real```ln`'(`real``x`);`real```log`'(`real``x`);`real```log10`'(`real``x`);`real```log2`'(`real``x`);`real```lrand`'(`void`);`mode```lz`'(`mode``m`);`mode```match`'(`text``s`,`text``t`);is 0 if

`t`wild card (case sensitive) matches the`s`pattern (the`*`and`?`literal sign are interpreted as for their shell pattern equivalents), non 0 otherwise`mode```max`'(`mode``m`,`mode``n`);`mode```min`'(`mode``m`,`mode``n`);`mode```mode`'(`real``x`);`real```parcctg2`'(`real``x`,`real``y`);is the positively defined, in radians specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result (same as ``patan2`'(`y`,`x`))`real```parctg2`'(`real``y`,`real``y`);`real```patan2`'(`real``y`,`real``x`);is the positively defined, in radians specified arc tangent of

`y`/`x`, signs of both`x`and`y`being used to determine the quadrant of the result`real```pow`'(`real``x`,`real``y`);`real```real`'(`mode``m`);`real```round`'(`real``x`);is the towards nearest integer, half cases away from zero rounded value of

`x``mode```sign`'(`mode``m`);`real```sin`'(`real``x`);`real```sq`'(`real``x`);`real```sqrt`'(`real``x`);`real```tan`'(`real``x`);`mode```text`'(`text``s`,`mode``m`);is the (positively defined value of the)

`m`th character of`s`, if such character exists, 0 otherwise`real```tg`'(`real``x`);`real```track`'(`real``x`);`mode```tz`'(`mode``m`);`mode```xfs`'(`mode``m`);is the 0 based position of the first (least significant) bit set in

`m`if any, the number of bits in`m`otherwise (same as ``tz`'(`m`))`mode```xls`'(`mode``m`);is the 0 based position of the last (most significant) bit set in

`m`if any, the number of bits in`m`otherwise (same as ``lz`'(`m`))

The literals `mode`, `real`, `text` and `void`
designate the *integer*, *real*, *string* and *void* types,
respectively.