view test_para4.c @ 2:35d6eabeadb0

modify Makefile. we can use makefile to compile outside CbC examples. (some examples are not compilable...)
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Wed, 22 Oct 2014 02:06:29 +0900
parents bacef8675607
children 586096c45873
line wrap: on
line source

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

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

void 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);
#endif
  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){

  function(10.01, 20.02, 30);
  return 0;
}