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

~7d ago

Joanie_AntiVJ: I have an issue with some reflection calculations, any vector expert may know the secret of mirrors ? :) https://discourse.vvvv.org/t/help-to-mirror-a-vector/20523/4

~7d ago

Joanie_AntiVJ: I have an issue with some reflection calculations, any vector expert may know the secret of mirrors ? :) https://discourse.vvvv.org/t/help-to-mirror-a-vector/20523/4

~17d ago

joreg: @LCA remember that we also provide custom support for commercial projects: https://visualprogramming.net/#Support

~17d ago

~18d ago

LCA: where to ask about hardware setups: VL application over 26 1080p displays. maybe also with FUSE

~25d ago

tonfilm: @tobyk there is also this, who wants to win: https://bottosson.github.io/posts/oklab/

~1mth ago

tobyk: LCH is the best color space, all the other color spaces are now big losers. https://atmos.style/blog/lch-color-space

~1mth ago

schlonzo: "HowTo Work with Children" somehow I expected something else :D

~2mth ago

fleg: This Tuesday, Cologne: exhibition opening of "interwoven", textile disinformation patterns created with vvvv. https://fleg.de/news/exhibition-interwoven