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

SCM Repository

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

Annotation of /tests/new-tests/steps.pdid

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4746 - (view) (download)

1 : glk 4745 #version 2 // (v2) NOTv1 NOTvL
2 :     // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NOTv2 NOTv1 NOTvL
3 : glk 4746 // !!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!! NOTv2 NOTv1 NOTvL
4 : glk 4745 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NOTv2 NOTv1 NOTvL
5 : glk 4746 // !!!!! Not a valid Diderot file! !!!!!!! NOTv2 NOTv1 NOTvL
6 :     // !!!!!!!!!!! This will be !!!!!!!!!!!!! NOTv2 NOTv1 NOTvL
7 :     // !!!!! processed by "./go-steps.sh" !!!! NOTv2 NOTv1 NOTvL
8 : glk 4745 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NOTv2 NOTv1 NOTvL
9 : glk 4746 // !!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!! NOTv2 NOTv1 NOTvL
10 : glk 4745 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NOTv2 NOTv1 NOTvL
11 :    
12 : glk 4746 /* Timeline of how this program goes:
13 :     | means active
14 :     o means "stabilize"
15 :     : means stable (idle)
16 :     x means "die"
17 :     n means "new"
18 :     4 3 2 1 0 <--idx
19 :     step 0 | | | |
20 :     step 1 | | | x
21 :     step 2 | | |
22 :     step 3 | | o
23 :     step 4 | | :
24 :     step 5 n4 | :
25 :     step 6 | | | :
26 :     step 7 | x o :
27 :     step 8 | : :
28 :     step 9 o : :
29 :     after : : :
30 :     */
31 :    
32 : glk 4745 int step = 0;
33 :     input bool dosee = true;
34 :    
35 :     strand digit (int idx_) {
36 :     int idx = idx_;
37 :     vec2 pos = [idx,idx];
38 :     output real id = pow(10,idx);
39 :     real active = id;
40 :     real updated = 0;
41 :     real idle = 0;
42 :     update {
43 :     updated = id;
44 : glk 4746 if (dosee) {
45 :     real seen = 0;
46 :     foreach (digit d in sphere(10)) { seen += d.id; }
47 :     print(" idx ", idx, " (step ", step, "): hello; see ", 800000 + seen, "\n");
48 :     }
49 : glk 4745 if (1 == step) {
50 :     if (0 == idx) {
51 : glk 4746 print(" -- idx ", idx, " (step ", step, "): dying\n"); die;
52 : glk 4745 }
53 :     }
54 :     if (3 == step) {
55 :     if (1 == idx) {
56 :     print(" -- idx ", idx, " (step ", step, "): stabilizing\n"); idle = id; stabilize;
57 :     }
58 :     }
59 :     if (5 == step) {
60 :     if (3 == idx) {
61 :     print(" -- idx ", idx, " (step ", step, "): new digit(4)\n");
62 :     new digit(4);
63 :     }
64 :     }
65 :     if (7 == step) {
66 :     if (2 == idx) {
67 :     print(" -- idx ", idx, ": stabilizing\n"); idle = id; stabilize;
68 :     }
69 :     if (3 == idx) {
70 : glk 4746 print(" -- idx ", idx, " (step ", step, "): dying\n"); die;
71 : glk 4745 }
72 :     }
73 :     if (9 == step) {
74 :     print(" -- idx ", idx, " (step ", step, "): stabilizing\n"); idle = id; stabilize;
75 :     }
76 :     }
77 :     }
78 :    
79 :     /* // NOTv2 (v1) (vL)
80 :     start {
81 :     real Dall = 800000 + sum { d.id | d in digit.all };
82 :     real Dupd = 800000 + sum { d.updated | d in digit.all };
83 :     real Dact = 800000 + sum { d.id | d in digit.active };
84 :     real Dstb = 800000 + sum { d.id | d in digit.stable };
85 :     real Didl = 800000 + sum { d.idle | d in digit.all };
86 :     print ("start: all=", Dall, "; active=", Dact, "; updated=", Dupd, "; stable=", Dstb, "; idle=", Didl, "\n");
87 :     print (" numActive=", numActive(), "; numStable=", numStable(), "\n"); // (v2) NOTv1 NOTvL
88 :     }
89 :     */ // NOTv2 (v1) (vL)
90 :    
91 :     global // NOTv2 (v1) (vL)
92 :     update // (v2) NOTv1 NOTvL
93 :     {
94 :     real Dall = 800000 + sum { d.id | d in digit.all };
95 :     real Dupd = 800000 + sum { d.updated | d in digit.all };
96 :     real Dact = 800000 + sum { d.id | d in digit.active };
97 :     real Dstb = 800000 + sum { d.id | d in digit.stable };
98 :     real Didl = 800000 + sum { d.idle | d in digit.all };
99 :     print("(g) ", step, ": all=", Dall, "; active=", Dact, "; updated=", Dupd, "; stable=", Dstb, "; idle=", Didl, "\n");
100 :     print (" numActive=", numActive(), "; numStable=", numStable(), "\n"); // (v2) NOTv1 NOTvL
101 :     step += 1;
102 :     if (20 == step) {
103 :     print("WHOA! stopping\n");
104 :     stabilize;
105 :     }
106 :     }
107 :     initially // NOTv2 (v1) (vL)
108 :     create_collection // (v2) NOTv1 NOTvL
109 :     { digit(i) | i in 0..3 }
110 :     ; // NOTv2 (v1) (vL)

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