HyperFun: Statements

Assignment statement for a variable.

Its general form is:

<localVarName> ‘=’ <functional expression> ‘;’

Here <localVarName> is a name of any local variable (including name of array’s element) or a name of a coordinate variable. Examples:

i = 1;
i = i + 1;
x1 = x[1] + a[1];
Metric[2] = b + aa[I]* exp(-sqrt(xx1^2 + x[2]^3);
StrangeBody = Head | (Hand[1] & Leg[2]);
sphere1 = Sphere(x,a);

Assignment statement for an array.

This statement allows to assign values to all elements of array. Its general form is:

<ElemArrayName> ‘=’ ‘[’ <constant>, ..., <constant> ‘]’ ‘;’


pz = [100., -20, 2, 0., 0., -3, 0., 0., 1E-10];

Conditional statement

It is a traditional ‘if-then-else’ statement having two forms:

  • ‘if’ <boolean expression> ‘then’ <statements> ‘endif’ ‘;’
  • ‘if’ <boolean expression> ‘then’ <statements> ‘else’ <statements> ‘endif’ ‘;’


if (x[4]= 0) then metamorph = CSGobject;
else if (x[4] = 1) then metamorph = blobbyobject;

Iterative statement

The iterative statement allows to define repeating loops. Its general form is:

‘while’ ‘(’ <boolean expression> ‘)’ ‘loop’ <statements> ‘endloop’ ‘;’


while (i<10) loop
xt[i] = x[1] - x0[i];
i = i+1;

hyperfun/hf_statements.txt · Last modified: 2008/12/11 10:04 by admin
This site contains HyperFun and other software that is free to use and modify under the provisions of the CGPL agreement unless otherwise stated.
Project hosted by the Digital Materialization Group
HyperFun CGPL Creative Commons License Valid CSS