source: CIVL/src/include/civl/civlc.cvl@ fe98629

1.23 2.0 acw/focus-triggers main test-branch
Last change on this file since fe98629 was 0f95739, checked in by Manchun Zheng <zmanchun@…>, 11 years ago

fixed a bug $elaborate_rectangular_domain.

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

  • Property mode set to 100644
File size: 926 bytes
Line 
1/* This header file contains the core definitions of the CIVL-C language,
2 * including standard types and function prototypes.
3 */
4
5#ifndef __CIVLC_CIVL__
6#define __CIVLC_CIVL__
7
8#include <civlc.cvh>
9#include <domain.cvh>
10
11/* Completes the declaration of this type in civlc.cvh */
12struct $int_iter {
13 int size;
14 int content[];
15 int index; //initialized as 0
16};
17
18/*void $elaborate(int x) {
19 if(!$is_concrete_int(x))
20 for(int i=0; i<x; i++);
21}*/
22
23void $elaborate_rectangular_domain($domain domain){
24 if(!$is_rectangular_domain(domain))
25 return;
26 for(int i=0; i<$dimension_of(domain); i++){
27 $range range=$range_of_rectangular_domain(domain, i);
28
29 if(!($is_regular_range(range)))
30 continue;
31
32 int high=$high_of_regular_range(range);
33 int low=$low_of_regular_range(range);
34
35 if(!$is_concrete_int(high))
36 $elaborate(high);
37 if(!$is_concrete_int(low))
38 $elaborate(low);
39 }
40}
41
42#endif
Note: See TracBrowser for help on using the repository browser.