diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-24 15:31:01 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-24 15:31:01 -0700 |
| commit | feb98e1bb6c973428b94591ed5b0aed5e4137bd0 (patch) | |
| tree | ee104333658a452590546c483fda1cae315ce134 /chapter28b/src/test/smp/separate/library | |
| parent | e2b042bd9721995486f4f0cf96847c02d27908e3 (diff) | |
| download | Simple-feb98e1bb6c973428b94591ed5b0aed5e4137bd0.tar.gz Simple-feb98e1bb6c973428b94591ed5b0aed5e4137bd0.zip | |
Finish separate compilation snapshot in chapter 28b
Diffstat (limited to 'chapter28b/src/test/smp/separate/library')
| -rw-r--r-- | chapter28b/src/test/smp/separate/library/Counters.smp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chapter28b/src/test/smp/separate/library/Counters.smp b/chapter28b/src/test/smp/separate/library/Counters.smp new file mode 100644 index 00000000..a3e36562 --- /dev/null +++ b/chapter28b/src/test/smp/separate/library/Counters.smp @@ -0,0 +1,12 @@ +// A library can keep shared state and publish instance constructors. +int calls=0; +val next_noInline={ -> calls++; return calls; }; + +struct Counter { + val value=1; + new Counter={int n -> + value=0; + for(int i=0; i<n; i++) value=value*2+1; + }; + val get={ -> value; }; +}; |
