» Expr (Value)
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

Here you are supposed to see an image (rendered with SVG) describing the pins of this node. However, this does not work with Internet Explorer. You may want to consider using another browser, like FireFox, Chrome, Safari or Opera that do support SVG.

Credits Project JEDI Code Library (JCL)
Warnings
Bugs

related discussions

start a forum thread about this node

about Expr (Value)

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)
-
degtorad(x)
-
radtodeg(x)
-

additional operands

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.

External Links

Developer: Egbert van Nes

anonymous user login

Shoutbox

~12h ago

joreg: We're live now! Please join or watch the #vvvv meetup by following this link: 15.-vvvv-worldwide-meetup

~11d ago

andresc4: gamma+stride+fuse+standaloneapp+soputoutput+oscinput = lovvvvvveeeeeee!!!!

~14d ago

joreg: @pechart thanks for the flowers!

~14d ago

pechart: Just a big shoutout to the whole vvvv devteam and the friendly community! It's fantastic to export patches to standalone apps. THX!

~23d ago

daviddenker: We are looking asap for 3x Azure Kinect to rent or buy. Any kind of help appreciated! :-)

~26d ago

mediadog: Hmmm md.ecosystem link on staff pics page is not found

~28d ago

schlonzo: physics constraints and forces plz?

~30d ago

karistouf: thank you @gml but im thinking about and old version of vvvvv. There was a redraw with HSL of each pixels

~30d ago

schlonzo: no more previews? is there a 4.0 stable?