comparison CbC-examples/test_csp1.c @ 16:4c6926a2b9bc

examples.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Thu, 24 Sep 2009 12:51:25 +0900
parents
children f9b1a53df341
comparison
equal deleted inserted replaced
15:11a6cbe2d14c 16:4c6926a2b9bc
1 #include<stdio.h>
2 #include<stdlib.h>
3
4 //static __code (*csp)(int, int, int, int);
5
6 __code cs_end(int a){
7 printf("cs_exit : a=%d.\n", a);
8 exit(a);
9 goto cs_end(a);
10 }
11
12 __code cs0(int a, int b, int c, int d){
13 //printf("cs0 : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d.\n", a, b, c, d, e, f, g);
14 printf("cs_cs0 : a=%d, b=%d, c=%d, d=%d.\n", a, b, c, d);
15 goto cs_end( (int)(20*a + 30*b + 40*c + 50*d) );
16 }
17
18
19 void* freturn(){
20 return cs0;
21 }
22 __code cs_goto(int a, int b, int c, int d){
23 __code (*csp)(int, int, int, int);
24 csp = freturn();
25 printf("csp = %x.\n", csp);
26
27 //printf("cs_goto : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d.\n", a, b, c, d, e, f, g);
28 //printf("cs_goto : a=%d, b=%d, c=%d, d=%d.\n", a, b, c, d);
29 //printf("cs_goto : a-4=%d, a-8=%d, a-12=%d, a-16=%d.\n", *(&a-4), *(&a-8), *(&a-12), *(&a-16));
30 //printf("cs_goto : cs0(a, b, c, d)\n");
31 goto csp(b+a, d+b, a+c, c+d);
32 }
33
34 int function(double a, float b, int c){
35
36 printf("function:\n");
37 printf("a=%lf, b=%f, c=%d\n", a, b, c);
38 //goto cs_goto(10, 20, 30, 40);
39 goto cs_goto(10, 20, 30, 40);
40 }
41
42 int main(int argc, char **argv){
43 //csp = cs0;
44 function(10.01, 20.02, 30);
45 return 0;
46 }
47
48