blob: a5c720e3e63f0d34736bc846769a9688648cba57 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# { dg-options "-fstropping=upper" } #
BEGIN PROC is prime = (INT m) BOOL:
BEGIN IF m < 2
THEN puts ("program terminated because m is less than 2\n");
GOTO stop
FI;
BOOL factor found := NOT (ODD m OR m = 2);
FOR i FROM 3 BY 2 TO m - 1 WHILE NOT factor found
DO factor found := m MOD i = 0 OD;
factor found
END;
ASSERT (is prime (1));
ASSERT (is prime (3));
ASSERT (is prime (71));
ASSERT (is prime (97));
is prime (0);
ASSERT (FALSE) # Should jump to stop in the standard postlude. #
END
|