» 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

~5h ago

joreg: Interested in #visualprogramming with #vvvv? Meetup in #berlin on the 25th: 10-berlin-vvvv-meetup Featuring @kopffarben

~22h ago

ggml: is pepperoni dmx adapter still expected to work with b38 ?

~1d ago

bo27: @sinus hi! Thanks for using the template. Run is for endusers and it kills explorer. Try developer.bat to access patches

~1d ago

sinus: @bo24: sorry for da hassle. everything´s fine again. several restarts did the job.

~1d ago

sinus: @bo24: my mail db@servus.at

~1d ago

sinus: @IvanRastr aka bo24: found your project template, tested run bat.file, now my screen is black. only cursor. what to do?

~6d ago

cznickesz: @tonfilm thanks for the info. Can´t wait to give it a try!

~7d ago

tonfilm: @cznickesz #vvvv #vl #xenko integration is not ready for the public yet, it's still under heavy development... more updates soon.

~7d ago

cznickesz: Possibly dumb question: is there any release containing xenko-integration right now?