view CbC-examples/test_para4.c @ 150:26042f4007d5 current

fix examples
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 23 May 2020 07:51:47 +0900
parents 5d30d517ebed
children
line wrap: on
line source

//#include<stdio.h>
//#include<stdlib.h>

extern int printf(const char*, ...);
extern     void exit(int status);

#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);
}

__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) );
}

__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);
}

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);
}


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;
}