# this is a test of the configuration file utility

float pow = 1.2E+04 -3.2e-4 4.3e05;
double dpow = 1.2e+04 -3.2E-4 4474793.254434;

int i = 1 2 3;
struct viewRegion { 
  min_x=-1.5; 
  max_x=20; 
  min_y=-20; 
  max_y=20
}
int neg = -1;

int duplicate_i = $i;
s = Testing;
slash_string = /home/demo3/testit.dir;
duplicate_string = $slash_string;
single_quote = 'this is a string too';
f = 5;
struct simple {
    int i = 1;
    other_i = $i;
    float f = 0.5;
    double d = 3.0;
    char c = a;
    string s = "Hello there";
    bool b = true;

    %include unknown.conf
}

%include sub.conf

new_simple = $simple;
struct other_simple = $simple;
spec spec1 = foo;
spec spec2 { bar:
    tmp = 1;
    thing = 2;
    root_i = $simple.i;
};
spec3 { bletch:
    tmp = 2;
    thing = 1;
};
spec display_spec { disp :
    spec contained { fake :
    }
}

structArray array1 = 
    {
        weight=1;
        size=2;
    }
    {
        weight=50;
        size=4;
    }
;

multiple = 
         { 
           Testing = 1;
         }
         {
           Testing2 = 2;
         }
   ;

mergeStruct new_struct {
  int thing = 1;
  bool other = true;
}

mergeStruct new_struct {
  int new_thing = 3;
}

mergeStruct simple {
  bool new_simple = false;
}

int simple.new_i = 100;
int another_intermediate = 5;
int array1[1].weight = 5;
int intermediate = 10;
int new_weight = $array1[0].weight;
viewRegion.max_x = 21;
float viewRegion.min_x = -1.6;
s = "Now testing";
int i = 4 5 6;

double a = 100.0;
double vec1[4] = $a 2.0 3.0 4.0;
double vec2[4] = 2.0 $a 3.0 4.0;

float fa = 100.0;
float fvec1[4] = $fa 2.0 3.0 4.0;
float fvec2[4] = 2.0 $fa 3.0 4.0;

int ia = 100;
int ivec1[4] = $ia 2 3 4;
int ivec2[4] = 2 $ia 3 4;

char ca = a;
char cvec1[4] = $ca b c d;
char cvec2[4] = b $ca c d;

bool ba = false;
bool bvec1[4] = $ba f True false;
bool bvec2[4] = 0 $ba 1 False;

string sa = "bingery boo";
string svec1[4] = $sa blah bar False;
string svec2[4] = "binge" $sa booga cool;

simple.unknown.new_i = 1000
