diff CbC-examples/test_para4.c @ 16:4c6926a2b9bc

examples.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Thu, 24 Sep 2009 12:51:25 +0900
parents
children 959d4c8c8abc
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CbC-examples/test_para4.c	Thu Sep 24 12:51:25 2009 +0900
@@ -0,0 +1,74 @@
+//#include<stdio.h>
+//#include<stdlib.h>
+
+#define DPRINT 1
+#define NOINLINE __attribute__((noinline))
+
+extern __code cs_goto(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
+			   int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2);
+extern __code cs0(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
+		int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2);
+
+__code (*csp)(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
+		int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2);
+
+__code NOINLINE cs_exit(int a){
+	int b = 20 * a + 3;
+	printf("cs_exit : a=%d. b=%d\n", a, b);
+	exit(a);
+}
+
+int function(double l, float m, int n){
+	int a=10, b=20, c=30, d=40, e=50, f=60, g=70, h=80, i=90, j=100;
+	int a2=110, b2=120, c2=130, d2=140, e2=150, f2=160, g2=170, h2=180, i2=190, j2=200;
+
+#if DPRINT
+	printf("function: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a, b, c, d, e, f, g, h, i, j);
+	printf("function: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
+	//printf("l=%lf, m=%f, n=%d\n", l, m, n);
+#endif
+	//goto cs_goto(10, 20, 30, 40);
+	goto cs_goto(a, b, c, d, e, f, g, h, i, j, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
+}
+
+__code NOINLINE cs_goto(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
+			   int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2){
+#if DPRINT
+	printf("cs_goto : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a, b, c, d, e, f, g, h, i, j);
+	printf("cs_goto : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
+#endif
+	goto cs0(b, c, d, e, f, g, h, i, j, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, a);
+}
+
+__code NOINLINE cs0(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j,
+		int a2, int b2, int c2, int d2, int e2, int f2, int g2, int h2, int i2, int j2){
+#if DPRINT
+	//printf("cs0     : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d.\n", a, b, c, d, e, f, g);
+	printf("cs0     : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a, b, c, d, e, f, g, h, i, j);
+	printf("cs0     : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
+#endif
+	goto cs_exit( (int)(10*a + 10*b + 10*i2 + 10*j2) );
+}
+
+
+int main(int argc, char **argv){
+
+	//printf("main    :\n");
+	/*
+	printf("main    : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a, b, c, d, e, f, g, h, i, j);
+	printf("main    : a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d, j=%d\n", 
+			a2, b2, c2, d2, e2, f2, g2, h2, i2, j2);
+	*/
+	//csp = cs0;
+	function(10.01, 20.02, 30);
+	return 0;
+}
+
+