Number Operators perform various operations on the terms specified. There are several different types of operation available.
| Symbol | Type | Name | Description | Example |
|---|---|---|---|---|
| Arithmetic | ||||
| + | Infix | Addition | Adds the right term to the left term to give the sum | a + b |
| - | Infix | Subtraction | Takes the right term away from the left term to give the difference | a - b |
| * | Infix | Multiplication | Multiplies the left term by the right term to give the product | a * b |
| / | Infix | Division | Divides the left term by the right term to give the quotient | a / b |
| % | Infix | Modulus | Divides the left term by the right term and gives the remainder | a % b |
| ** | Infix | Exponentiation | Raises the left term to the power specified by the right term | a ** b |
| Auto-Increment/Auto-Decrement | ||||
| ++ | Prefix | Pre-increment | Increments the term by 1, then returns the new value | ++a |
| ++ | Postfix | Post-increment | Returns the term value, then increments the term by 1 | a++ |
| -- | Prefix | Pre-decrement | Decrements the term by 1, then returns the new value | --a |
| -- | Postfix | Post-decrement | Returns the term value, then decrements the term by 1 | a-- |
| Bitwise | ||||
| +& | Infix | AND | Bits that are set in both left and right terms are set | a +& b |
| +| | Infix | OR | Bits that are set in either left or right terms are set | a +| b |
| +^ | Infix | XOR | Bits that are set in either left or right terms, but not both, are set | a +^ b |
| +^ | Prefix | NOT | All bits in the term are inverted | +^ a |
| +< | Infix | Shift left | Shift the bits of the left term left by the number of steps specified in the right term | a +< b |
| +> | Infix | Shift right | Shift the bits of the left term right by the number of steps specified in the right term | a +> b |
| Mathematical | ||||
| abs | Prefix | Absolute value | Gives the positive numerical value of the term | abs a |
| sin | Prefix | Sine | Gives the sine of the term, with the term in radians | sin a |
| cos | Prefix | Cosine | Gives the cosine of the term, with the term in radians | cos a |
| tan | Prefix | Tangent | Gives the tangent of the term, with the term in radians | tan a |
| log | Prefix | Logarithm | Gives the base-10 logarithm of the term | log a |
| ln | Prefix | Natural logarithm | Gives the natural logarithm of the term | ln a |
| Type Casting | ||||
| + | Prefix | Cast | Converts the term to a Number, without affecting the sign | +a |
| - | Prefix | Inverse cast | Converts the term to a Number, and inverts the sign | -a |
| Type Checking | ||||
| is | Infix | IsType | Checks if the value of the left term is of the type specified by the right term | a is number |
Each Operator will evaluate the terms provided as appropriate to the Operator value type - for instance, performing a numerical addition on two Strings will convert the Strings to Numbers first.