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