Sidebar

Home



Expressions V4


Tutorials

How-To

Reference

  Lexical basics
  Type system
  Variables and assignment
  Operators
  Expression rules
  Control flow
  Functions
  Built-in functions
   None and NaN
   Arithmetic
   Algebra
   Logarithmic and Exponential
   Trigonometric
   Rounding and Centering
   Strings
   Output, Formatting, Clipboard, and Errors
   Dialog Functions
   Platform and Paths
  Methods and properties
  Built-in methods
   Common Value Methods
   Number Methods
   String Basic Methods
   String Slice Methods
   String Parsing Methods
   String Formatting Methods
   String Regex Methods
   String Trim and Case Methods
  Objects
  Built-in objects
   Global objects
    settings
    controller
    session
    python
   Collections
    array
    map
    bytes
   File Format I/O
    image_data
    image_stream
   Utils
    crypto
    timer
   Comm
    serial
   Dialogs
    file_open
    file_save
    msg_ok
    msg_ok_cancel
    msg_yes_no
    msg_password
   GUI objects
    window
    panel
    group
    splitpanel
    label
    textbutton
    drawablebutton
    togglebutton
    togglegroup
    textinput
    textedit
    numinput
    slider
    combobox
    listbox
    progressbar
    led
    separator
    menu
    image
    snake
  Classes and user-defined objects
  Include system
  Error model
  Execution model and sessions
  Host integration
  Limits and performance
  Formal reference
  Glossary

Cookbook

exprv4:reference:functions:arithmetic



Arithmetic Functions

Arithmetic built-in functions operate on numbers.

abs(x)

Returns the absolute value of a number.

Argument Type Description
`x` number Input value.

Returns: number.

Example:

abs(-5);        // 5
abs(5);         // 5

dec(value, min, reset)

Decrements a value by one and wraps when it goes below a minimum.

Argument Type Description
`value` number, `none()`, or NaN Current value. If `none()` or NaN, `reset` is returned.
`min` number Minimum allowed value.
`reset` number Value returned after wrap or invalid input.

Returns: number.

Example:

index = 0;
index = dec(index, 0, 9);   // 9
index = dec(index, 0, 9);   // 8

inc(value, max, reset)

Increments a value by one and wraps when it goes above a maximum.

Argument Type Description
`value` number, `none()`, or NaN Current value. If `none()` or NaN, `reset` is returned.
`max` number Maximum allowed value.
`reset` number Value returned after wrap or invalid input.

Returns: number.

Example:

index = 9;
index = inc(index, 9, 0);   // 0
index = inc(index, 9, 0);   // 1

max(value, ...)

Returns the largest number from one or more arguments.

Argument Type Description
`value` number First value. At least one value is required.
`…` number Additional values.

Returns: number.

Example:

max(3, 8, 2);   // 8

min(value, ...)

Returns the smallest number from one or more arguments.

Argument Type Description
`value` number First value. At least one value is required.
`…` number Additional values.

Returns: number.

Example:

min(3, 8, 2);   // 2

rand()

Returns a random number from 0 to 1.

Argument Type Description
none No arguments.

Returns: number.

Example:

r = rand();

rand(max)

Returns a random integer-style value from 0 to `max`.

Argument Type Description
`max` number Upper bound.

Returns: number.

Example:

roll = rand(10);

rand(min, max)

Returns a random integer-style value from `min` to `max`.

Argument Type Description
`min` number Lower bound. Must be smaller than `max`.
`max` number Upper bound.

Returns: number.

Example:

roll = rand(1, 6);

sign(x)

Returns the sign of a number.

Argument Type Description
`x` number Input value.

Returns: `-1`, `0`, or `1`.

Example:

sign(-12);      // -1
sign(0);        // 0
sign(12);       // 1

Previous: None and NaN

Next: Algebra

exprv4/reference/functions/arithmetic.txt · Last modified: by andrej

Page Tools