1// Array allocation tests
2
3void testLocalInt()
4{
5    int a[3];
6    a[0] = 1;
7    a[1] = 2;
8    a[2] = a[0] + a[1];
9    printf("localInt: %d\n", a[2]);
10}
11
12char a[3];
13double d[3];
14
15void testGlobalChar()
16{
17    a[0] = 1;
18    a[1] = 2;
19    a[2] = a[0] + a[1];
20    printf("globalChar: %d\n", a[2]);
21}
22
23void testGlobalDouble()
24{
25    d[0] = 1;
26    d[1] = 2;
27    d[2] = d[0] + d[1];
28    printf("globalDouble: %g\n", d[2]);
29}
30
31void testLocalDouble()
32{
33    double d[3];
34    float  m[12];
35    m[0] = 1.0f;
36    m[1] = 2.0f;
37    d[0] = 1.0;
38    d[1] = 2.0;
39    d[2] = d[0] + d[1];
40    m[2] = m[0] + m[1];
41    printf("localDouble: %g %g\n", d[2], m[2]);
42}
43
44void vectorAdd(int* a, int* b, float* c, int len) {
45    int i;
46    for(i = 0; i < len; i++) {
47        c[i] = a[i] + b[i];
48    }
49}
50
51void testArgs() {
52    int a[3], b[3];
53    float c[3];
54    int i;
55    int len = 3;
56    for(i = 0; i < len; i++) {
57        a[i] = i;
58        b[i] = i;
59        c[i] = 0;
60    }
61    vectorAdd(a,b,c, len);
62    printf("testArgs:");
63    for(i = 0; i < len; i++) {
64        printf(" %g", c[i]);
65    }
66    printf("\n");
67}
68
69void testDecay() {
70    char c[4];
71    c[0] = 'H';
72    c[1] = 'i';
73    c[2] = '!';
74    c[3] = 0;
75    printf("testDecay: %s\n", c);
76}
77
78void test2D() {
79    char c[10][20];
80    int x;
81    int y;
82    printf("test2D:\n");
83    for(y = 0; y < 10; y++) {
84        for(x = 0; x < 20; x++) {
85            c[y][x] = 'a' + (15 & (y * 19 + x));
86        }
87    }
88    for(y = 0; y < 10; y++) {
89        for(x = 0; x < 20; x++) {
90            printf("%c", c[y][x]);
91        }
92        printf("\n");
93    }
94
95}
96
97int main()
98{
99    testLocalInt();
100    testLocalDouble();
101    testGlobalChar();
102    testGlobalDouble();
103    testArgs();
104    testDecay();
105    test2D();
106    return 0;
107}
108