5.2 Conditional Statements
Syntax for conditional statement is:
if assertion block { { elseif assertion block } ... else block } end
Example:
if x < 0
print "x is negative."
elseif x > 0
print "x is positive."
else
print "x is null."
end
Using the stop command within a conditional statement allows to abort the
execution of a script when some condition is met.
Boolean operators
not a- Negation of assertion a.
a and b- Disjunction of assertions a and b.
a or b- Conjunction of assertions a and b.
Boolean constants
true
false
Comparison operators
a == b- Checks whether objects a and b are equal, i.e. have the same
internal representation. Objects may be numbers, strings, points, vectors, sets,
lines, circles or conics.
a != b- Negation of the former.
x < yx <= yx > yx >= y- Comparison of numbers x and y.
Set assertions
A in s- Checks whether point A belongs to set s.
empty(s)- Checks for emptiness of set s.
Geometric assertions
A on s- Checks whether point A is on object s, where s may be a set
(considered as an open path), a line, a circle or a conic.
collinear(A, B, C)- Checks whether points A, B and C are collinear.
collinear(u, v)- Checks whether vectors u and v are collinear, i.e. have same or
opposite directions.
parallel(l, l')perpendicular(l, l')- Direction comparison of lines l and l'.
ellipse(c)hyperbola(c)parabola(c)- Type checking of conic c.
isosceles(A, B, C)equilateral(A, B, C)right(A, B, C)- Type checking of triangle ABC.
parallelogram(A, B, C, D)rectangle(A, B, C, D)square(A, B, C, D)- Type checking of quadrilateral ABCD.
Output format flags
eps- True with eukleides.
pstricks- True with euktopst.
display- True within GUI.
Ternary operator
- assertion
? x | y - Number x if assertion is true, number y otherwise.