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.