Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

# Official ZPE/YASS documentationLogic and Mathematics

From version 1.3.5.60, the Real Math Mode or RMM engine permitted the use of standard mathematical expressions. This replaced the add, subtract, multiply, divide and modulo inline functions.

From version 1.4.3, the RMM engine was replaced by LAMP (or Logic And Mathematics Parser). This works in a totally different way to RMM but it gives the same results. It works on logic as well as standard mathematics.

This was replaced in version 1.7.1 released in January 2019 by LAME (Logic And Mathematics Evaluator) which was considerably faster. In version 1.12.3 released in March 2024, LAME was replaced by LAME X2 which is considerably faster.

Expressions can be written as standard maths, like that found in other languages such as JavaScript, C or Visual Basic:

YASS
```\$a = 84 + 43 * 2
\$b = 91 - 22 % \$a
```

The LAMP parser was replaced with the LAME evaluator which performs twice as well as the LAMP parser.

Operator Purpose Example
`+` Addition `5 + \$v`
`-` Subtraction `10 - \$v`
`*` Multiplication `3 * \$v`
`/` Division `50 / \$v`
`%` Modulo `10 % \$v`

In a similar way, logical expressions are evaluated by the LAME evaluator.

YASS
```\$a = true && false
\$b = true || false
```

The following is a list of logical operators:

Operator Purpose Example
`&&` Logical AND `true && true`
`AND` Logical AND `true AND true`
`||` Logical OR `true || true`
`OR` Logical OR `true OR true`
`!` Logical NOT `!true`
`NOT` Logical NOT `NOT (true)`