This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

# Expr (Value)

Help Parses a mathematical expression in the string and returns the value
Author vvvv group

Credits Project JEDI Code Library (JCL)
Warnings
Bugs

## Syntax

The required format of the expression is Pascal style.

### List of supported operations

 Comparison > < = <= >= Logical and or xor not Math +, -, *, /, ^, div, mod Brackets ( ) Factorial ! Percentage % assign to variables :=

-

### List of supported functions

-
Random
-
exp(x)
-
if(x, y, z)
-
random
-
randg(Mean, StdDev)
-
sqr(x)
-
sqrt(x)
-
abs(x)
-
round(x)
-
trunc(x)
-
ln(x)
-
log10(x)
-
logN(x, y)
-
power(x, y)
-
pow(x, y)
-
intpower(x, y)
-
max(x, y)
-
min(x, y)
-
sin(x)
-
cos(x)
-
tan(x)
-
arcsin(x)
-
arccos(x)
-
arctan2(x, y)
-
sinh(x)
-
cosh(x)
-
tanh(x)
-
arcsinh(x)
-
arccosh(x)
-
arctanh(x)
-
-
-

 factorial x! power x^y percentage x% hexadecimal \$x (for example \$FF is converted to 255)

Implicit multiplying is not supported: e.g. (X+1)(24-3) generates a syntax error and should be written (x+1)*(24-3)

## Precedence

The precedence of the operands is as follows.

 1 highest ! -x +x % 2 ^ 3 * / div mod 4 + - 5 > >= < <= = 6 not 7 or and xor 8 lowest :=

You can use user-defined variables in the expressions and also assign to variables using the := operand

## Optimization

The compiler removes constant expressions and replaces these with the evaluated result:

4*4*x becomes 16*x
ln(5)+3*x becomes 1.609437912+3*x
limitation
4*x+3+3+5 evaluates as 4*x+3+3+5 (due to precedence rules)
whereas
4*x+(3+3+5) becomes 4*x+11

Tip: Use brackets to be sure that constant expressions are removed by the compiler

this text is mostly lifted from the readme of the Freeware component by Egbert van Nes

## FAQ

### Is it possible to access specific slices in the expr node? like formula which involves another slice in the spread - e.g. for some vectorstuff without splitting the spread.

sorry this is currently not possible. you would need to decompose the formula into separate nodes. or write a little c# plugin.

Developer: Egbert van Nes

# Shoutbox

~48min ago

tonfilm: Just updated the CraftLie rendering pack to latest: craftlie-dx11-drawing-for-vl

~4d ago

~4d ago

microdee: 2 seconds later: I asked before googling, but why do you need OS support for texture compression?

~4d ago

microdee: what's BC7?

~4d ago

antokhio: https://aka.ms/AA65g28 upvote pls for bc7 support in windows

~5d ago

~6d ago

joreg: PSA: forum is back up and running!

~6d ago