» 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

~8h ago

joreg: reminder: this tuesday, oct 22nd: #vvvv meetup in #berlin 14-berlin-vvvv-meetup #visualprogramming

~16h ago

metrowave: @h99, nice site + useful...

~3d ago

h99: Moon, dammit

~3d ago

h99: NASA's CGI Monn kit https://svs.gsfc.nasa.gov/4720

~4d ago

~6d ago

joreg: Two #vvvv workshops this week in #berlin: Friday: Physical Computing, Saturday: Computer Vision. Tickets: upcoming-full-day-vvvv-gamma-workshops-in-berlin

~6d ago

joreg: @cznickesz also feel free to join our chat for such questions: chat

~6d ago

cznickesz: @joreg: Yeah, I´ll give it a try! Thx

~6d ago

joreg: @cznickesz: we're hoping this week. but depends on feedback. please test your project and let us know if it works.

~6d ago

cznickesz: @joreg: I should stop asking my questions so cryptic ;-) So right away: is final Beta39 hours, days or weeks away?