177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Array allocation tests
277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid testLocalInt()
477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    int a[3];
677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    a[0] = 1;
777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    a[1] = 2;
877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    a[2] = a[0] + a[1];
977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("localInt: %d\n", a[2]);
1077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
1177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaochar a[3];
1377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaodouble d[3];
1477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid testGlobalChar()
1677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
1777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    a[0] = 1;
1877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    a[1] = 2;
1977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    a[2] = a[0] + a[1];
2077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("globalChar: %d\n", a[2]);
2177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
2277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
2377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid testGlobalDouble()
2477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
2577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    d[0] = 1;
2677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    d[1] = 2;
2777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    d[2] = d[0] + d[1];
2877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("globalDouble: %g\n", d[2]);
2977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
3077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
3177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid testLocalDouble()
3277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
3377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    double d[3];
3477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    float  m[12];
3577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    m[0] = 1.0f;
3677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    m[1] = 2.0f;
3777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    d[0] = 1.0;
3877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    d[1] = 2.0;
3977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    d[2] = d[0] + d[1];
4077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    m[2] = m[0] + m[1];
4177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("localDouble: %g %g\n", d[2], m[2]);
4277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
4377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
4477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid vectorAdd(int* a, int* b, float* c, int len) {
4577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    int i;
4677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    for(i = 0; i < len; i++) {
4777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        c[i] = a[i] + b[i];
4877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    }
4977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
5077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
5177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid testArgs() {
5277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    int a[3], b[3];
5377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    float c[3];
5477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    int i;
5577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    int len = 3;
5677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    for(i = 0; i < len; i++) {
5777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        a[i] = i;
5877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        b[i] = i;
5977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        c[i] = 0;
6077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    }
6177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    vectorAdd(a,b,c, len);
6277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("testArgs:");
6377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    for(i = 0; i < len; i++) {
6477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        printf(" %g", c[i]);
6577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    }
6677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("\n");
6777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
6877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
6977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid testDecay() {
7077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    char c[4];
7177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    c[0] = 'H';
7277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    c[1] = 'i';
7377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    c[2] = '!';
7477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    c[3] = 0;
7577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("testDecay: %s\n", c);
7677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
7777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
7877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid test2D() {
7977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    char c[10][20];
8077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    int x;
8177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    int y;
8277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    printf("test2D:\n");
8377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    for(y = 0; y < 10; y++) {
8477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        for(x = 0; x < 20; x++) {
8577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao            c[y][x] = 'a' + (15 & (y * 19 + x));
8677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        }
8777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    }
8877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    for(y = 0; y < 10; y++) {
8977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        for(x = 0; x < 20; x++) {
9077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao            printf("%c", c[y][x]);
9177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        }
9277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        printf("\n");
9377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    }
9477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
9577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
9677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
9777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint main()
9877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
9977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    testLocalInt();
10077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    testLocalDouble();
10177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    testGlobalChar();
10277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    testGlobalDouble();
10377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    testArgs();
10477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    testDecay();
10577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    test2D();
10677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    return 0;
10777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
108