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

~13h ago

mediadog: @CeeYaa Why I'm learning Unreal, now if I could just afford wrap-around LED walls! Can do in vvvv too, it's just a CAVE

~14h ago

~19h ago

kleinkariert: @tonfilm any hint on how to generate Mel-Frequency images out of audio for mel-GAN in v4

~19h ago

joreg: @mediadog we're aware of this, see: https://discourse.vvvv.org/t/visual-c-2008-this-download-is-no-longer-available/17895 and i now also fixed the resp. links on the download page.

~1d ago

mediadog: FYI VC redist 2008 links bad in 38.1 installer and on web page

~2d ago

joreg: Reminder: Intro workshop to the all-new vvvv this Tuesday before the #vvvv meetup in #berlin. Signup here: https://nodeforum.org/announcements/2020-series-of-2h-introduction-workshops-to-vvvv-gamma/

~3d ago

~3d ago

tonfilm: Creative coder wanted: https://discourse.vvvv.org/t/creativvvve-coder-in-residence-2020/18283 vvvv visualprogramming #creativecoding #xenko #dotnet #berlin #internship #residency

~4d ago

metrowave: Collection of replicable research: http://www.replicabilitystamp.org/

~4d ago