Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /tests/new-tests/phases.diderot
ViewVC logotype

Annotation of /tests/new-tests/phases.diderot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4739 - (view) (download)

1 : jhr 4739 #version 2
2 :    
3 :     // A test to illustrate the difference in smantics between a state transitions
4 :     // happening
5 :     //
6 :     // 1) after global updates, or
7 :     // 2) between strand updates and global updates
8 :     //
9 :     // in the case 1, we should get the following output
10 :     //
11 :     // 0: 0 stable, 10 active
12 :     // 1: 0 stable, 10 active
13 :     // 2: 4 stable, 3 active
14 :     //
15 :     // while for case 2, we should get
16 :     //
17 :     // 0: 0 stable, 10 active
18 :     // 1: 4 stable, 3 active
19 :     // 2: 7 stable, 0 active
20 :    
21 :     int step = 0;
22 :    
23 :     strand S (int i)
24 :     {
25 :     output int id = i;
26 :    
27 :     update {
28 :     if (step == 0) {
29 :     if (id % 3 == 0) {
30 :     die;
31 :     }
32 :     else if (id % 3 == 1) {
33 :     stabilize;
34 :     }
35 :     }
36 :     else {
37 :     stabilize;
38 :     }
39 :     }
40 :     }
41 :    
42 :     start {
43 :     print (step, ": ", numStable(), " stable, ", numActive(), " active\n");
44 :     }
45 :    
46 :     update {
47 :     step += 1;
48 :     print (step, ": ", numStable(), " stable, ", numActive(), " active\n");
49 :     }
50 :    
51 :     create_collection { S(i) | i in 1..10 }
52 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0