source: CIVL/examples/languageFeatures/atomicStatement.cvl

main
Last change on this file was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 508 bytes
Line 
1/* Commandline execution:
2 * civl verify -inputB=3 atomicStatement.cvl
3 * */
4#include<civlc.cvh>
5$input int B = 3;
6$input int N;
7$assume(0<N && N<B);
8int n = 3;
9
10void main(){
11 int x;
12
13 $atomic{
14 $when(n > 1) n = 3;
15 $atomic{
16 x = N;
17 x = x * 2;
18 }
19 $assert(x == 2*N);
20 // non-determinism allowed in $atomic block
21 $atomic{
22 x = 3;
23 $choose {
24 $when (n>2) { x=2; }
25 $when (n>1) { x=1; }
26 default: {x=0; }
27 }
28 }
29 $assert(x == 2 || x == 1);
30 }
31}
Note: See TracBrowser for help on using the repository browser.