> For the complete documentation index, see [llms.txt](https://osl.mistium.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://osl.mistium.com/operators/mathematical-usage.md).

# Mathematical Usage

OSL supports the standard arithmetic operators on numbers. Each has its own page below with examples and edge cases.

Numeric operators consistently reject operands whose known types are not numeric.

| Operator | Meaning                          |
| -------- | -------------------------------- |
| `+`      | Addition                         |
| `-`      | Subtraction                      |
| `*`      | Multiplication                   |
| `/`      | Division                         |
| `^`      | Exponentiation (to the power of) |
| `%`      | Modulo (remainder)               |

Note that `+` adds numbers; to join strings without spacing use the [`++`](/operators/string-concatenation-operator.md) operator instead.

Integer `+`, `-`, and `*` are checked. A result outside the platform integer range raises `OverflowError` rather than wrapping. OSL does not automatically promote integers to arbitrary-precision values; use ordinary `number` values when floating-point range is appropriate.
