view test/basic.c @ 874:3454953b3df0

fix inline strinit not yet worked.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 01 Apr 2014 23:25:05 +0900
parents c2c709727221
children
line wrap: on
line source

int printf(const char *format, ...);

// #define INLINE inline
#ifdef INLINE
#else
#define INLINE
#endif


#define ARG_ADDRESS 0

double ggg = 0.134;
float fff = 0.0;

extern double eggg;
double eggg = 0.134;
extern float efff;
float efff = 0.1345;

double ggg0;
float fff0;

char *memchar = "memory string\n";
char arraychar[] = "array string\n";

#if 0
extern double reggg;
extern float refff;
#endif

INLINE
int
print(double d)
{
    float f;
    int *dd;

#if 0
    f = refff;
    f = reggg;
#endif

    f = d;

    dd = (int*) &d;
    printf("#0045:d %g\n",d);
    printf("#0046:dx %08x %08x\n",*(dd),*(dd+1));

    dd = (int*) &f;
    printf("#0049:f %g\n",f);
    printf("#0050:dx %08x \n",*(dd));
    return 1;
}

INLINE
void
tmp () {
    char c;
    int i;
    c=-1;
    i=c;
    printf("#0061:%d %d %d\n",!i,~i,-i);
    printf("#0062:%d\n",i);
}

INLINE
int 
g(
int a0,int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8
)
{
    printf("#0071:g: %d\n",
a0+a1+a2+a3+a4+a5+a6+a7+a8
    );
    return a8;
}

INLINE
int 
i50(
int a0,int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10,int a11,int a12,int a13,int a14,int a15,int a16,int a17,int a18,int a19,int a20,int a21,int a22,int a23,int a24,int a25,int a26,int a27,int a28,int a29,int a30,int a31,int a32,int a33,int a34,int a35,int a36,int a37,int a38,int a39,int a40,int a41,int a42,int a43,int a44,int a45,int a46,int a47,int a48,int a49
)
{
#if ARG_ADDRESS
    printf("#0084:i50: a0 %x a49 %x\n",&a0,&a49);
#endif
    printf("#0086:i50: %d\n",
a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a23+a24+a25+a26+a27+a28+a29+a30+a31+a32+a33+a34+a35+a36+a37+a38+a39+a40+a41+a42+a43+a44+a45+a46+a47+a48+a49
    );
    return a8;
}

INLINE
float 
f50(
float a0,float a1,float a2,float a3,float a4,float a5,float a6,float a7,float a8,float a9,float a10,float a11,float a12,float a13,float a14,float a15,float a16,float a17,float a18,float a19,float a20,float a21,float a22,float a23,float a24,float a25,float a26,float a27,float a28,float a29,float a30,float a31,float a32,float a33,float a34,float a35,float a36,float a37,float a38,float a39,float a40,float a41,float a42,float a43,float a44,float a45,float a46,float a47,float a48,float a49
)
{
    printf("#0098:f50: %g\n",
a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a23+a24+a25+a26+a27+a28+a29+a30+a31+a32+a33+a34+a35+a36+a37+a38+a39+a40+a41+a42+a43+a44+a45+a46+a47+a48+a49
    );
    return a8;
}

INLINE
double 
d50(
double a0,double a1,double a2,double a3,double a4,double a5,double a6,double a7,double a8,double a9,double a10,double a11,double a12,double a13,double a14,double a15,double a16,double a17,double a18,double a19,double a20,double a21,double a22,double a23,double a24,double a25,double a26,double a27,double a28,double a29,double a30,double a31,double a32,double a33,double a34,double a35,double a36,double a37,double a38,double a39,double a40,double a41,double a42,double a43,double a44,double a45,double a46,double a47,double a48,double a49
)
{
    printf("#0110:d50: %g\n",
a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a23+a24+a25+a26+a27+a28+a29+a30+a31+a32+a33+a34+a35+a36+a37+a38+a39+a40+a41+a42+a43+a44+a45+a46+a47+a48+a49
    );
    return a8;
}

INLINE
long long 
l50(
long long a0,long long a1,long long a2,long long a3,long long a4,long long a5,long long a6,long long a7,long long a8,long long a9,long long a10,long long a11,long long a12,long long a13,long long a14,long long a15,long long a16,long long a17,long long a18,long long a19,long long a20,long long a21,long long a22,long long a23,long long a24,long long a25,long long a26,long long a27,long long a28,long long a29,long long a30,long long a31,long long a32,long long a33,long long a34,long long a35,long long a36,long long a37,long long a38,long long a39,long long a40,long long a41,long long a42,long long a43,long long a44,long long a45,long long a46,long long a47,long long a48,long long a49
)
{
    printf("#0122:l50: %lld\n",
a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a23+a24+a25+a26+a27+a28+a29+a30+a31+a32+a33+a34+a35+a36+a37+a38+a39+a40+a41+a42+a43+a44+a45+a46+a47+a48+a49
    );
    return a8;
}

INLINE
int 
h( int a0,int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8)
{
return g( a0,a1,a2,a3,a4,a5,a6,a7,a8);
}


INLINE
double 
f(
double a0,double a1,double a2,double a3,double a4,double a5,double a6,double a7,double a8
)
{
    printf("#0142:f: %g\n",
a0+a1+a2+a3+a4+a5+a6+a7+a8
    );
    return a8;
}

INLINE
void 
tmp1 () { 
#if ARG_ADDRESS
    int a0;
    printf("#0153:tmp1: a0 %x\n",&a0);
#endif

    printf("#0156:%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d \n",
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
);
    printf("#0159:%g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g \n",
0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0
);

i50(
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
);
f50(
0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0
);
d50(
0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0
);

l50(
0LL,1LL,2LL,3LL,4LL,5LL,6LL,7LL,8LL,9LL,10LL,11LL,12LL,13LL,14LL,15LL,16LL,17LL,18LL,19LL,20LL,21LL,22LL,23LL,24LL,25LL,26LL,27LL,28LL,29LL,30LL,31LL,32LL,33LL,34LL,35LL,36LL,37LL,38LL,39LL,40LL,41LL,42LL,43LL,44LL,45LL,46LL,47LL,48LL,49LL
);

    h(0,1,2,3,4,5,6,7,1);
g(g(0,1,2,3,4,5,6,7,0),
    g(0,1,2,3,4,5,6,7,1),
    g(0,1,2,3,4,5,6,7,2),
    g(0,1,2,3,4,5,6,7,3),
    g(0,1,2,3,4,5,6,7,4),
    g(0,1,2,3,4,5,6,7,5),
    g(0,1,2,3,4,5,6,7,6),
    g(0,1,2,3,4,5,6,7,6),
    g(0,1,2,3,4,5,6,7,7));
f(f(0,1,2,3,4,5,6,7,0),
    f(0,1,2,3,4,5,6,7,1),
    f(0,1,2,3,4,5,6,7,2),
    f(0,1,2,3,4,5,6,7,3),
    f(0,1,2,3,4,5,6,7,4),
    f(0,1,2,3,4,5,6,7,5),
    f(0,1,2,3,4,5,6,7,6),
    f(0,1,2,3,4,5,6,7,6),
    f(0,1,2,3,4,5,6,7,7));

}

INLINE
void
double_int()
{
    printf("#0203:%d %f %f %f %f %f %f %f %f %f %f %f\n",
            1,0.1,.2,.3,.4,.5,.6,.7,.8,.9,.1,.2);
    printf("#0205:%d %d %f %f %f %f %f %f %f %f %f %f\n",
            1,  1,.2,.3,.4,.5,.6,.7,.8,.9,.1,.2);
    printf("#0207:%d %d %d %f %f %f %f %f %f %f %f %f\n",
            1,  1, 2,.3,.4,.5,.6,.7,.8,.9,.1,.2);
    printf("#0209:%d %d %d %d %f %f %f %f %f %f %f %f\n",
            1,  1, 2, 3,.4,.5,.6,.7,.8,.9,.1,.2);
    printf("#0211:%d %d %d %d %d %f %f %f %f %f %f %f\n",
            1,  1, 2, 3, 4,.5,.6,.7,.8,.9,.1,.2);
    printf("#0213:%d %d %d %d %d %d %f %f %f %f %f %f\n",
            1,  1, 2, 3, 4, 5,.6,.7,.8,.9,.1,.2);
    printf("#0215:%d %d %d %d %d %d %d %f %f %f %f %f\n",
            1,  1, 2, 3, 4, 5, 6,.7,.8,.9,.1,.2);
    printf("#0217:%d %d %d %d %d %d %d %d %f %f %f %f\n",
            1,  1, 2, 3, 4, 5, 6, 7,.8,.9,.1,.2);
    printf("#0219:%d %d %d %d %d %d %d %d %d %f %f %f\n",
            1,  1, 2, 3, 4, 5, 6, 7, 8,.9,.1,.2);
    printf("#0221:%d %d %d %d %d %d %d %d %d %d %f %f\n",
            1,  1, 2, 3, 4, 5, 6, 7, 8, 9,.1,.2);
    printf("#0223:%d %d %d %d %d %d %d %d %d %d %d %f\n",
            1,  1, 2, 3, 4, 5, 6, 7, 8, 9, 1,.2);
    printf("#0225:%d %d %d %d %d %d %d %d %d %d %d %d\n",
            1,  1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2);

    printf("#0228:%f %d %d %d %d %d %d %d %d %d %d %d\n",
           .1,  1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2);
    printf("#0230:%f %f %d %d %d %d %d %d %d %d %d %d\n",
           .1, .1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2);
    printf("#0232:%f %f %f %d %d %d %d %d %d %d %d %d\n",
           .1, .1,.2, 3, 4, 5, 6, 7, 8, 9, 1, 2);
    printf("#0234:%f %f %f %f %d %d %d %d %d %d %d %d\n",
           .1, .1,.2,.3, 4, 5, 6, 7, 8, 9, 1, 2);
    printf("#0236:%f %f %f %f %f %d %d %d %d %d %d %d\n",
           .1, .1,.2,.3,.4, 5, 6, 7, 8, 9, 1, 2);
    printf("#0238:%f %f %f %f %f %f %d %d %d %d %d %d\n",
           .1, .1,.2,.3,.4,.5, 6, 7, 8, 9, 1, 2);
    printf("#0240:%f %f %f %f %f %f %f %d %d %d %d %d\n",
           .1, .1,.2,.3,.4,.5,.6, 7, 8, 9, 1, 2);
    printf("#0242:%f %f %f %f %f %f %f %f %d %d %d %d\n",
           .1, .1,.2,.3,.4,.5,.6,.7, 8, 9, 1, 2);
    printf("#0244:%f %f %f %f %f %f %f %f %f %d %d %d\n",
           .1, .1,.2,.3,.4,.5,.6,.7,.8, 9, 1, 2);
    printf("#0246:%f %f %f %f %f %f %f %f %f %f %d %d\n",
           .1, .1,.2,.3,.4,.5,.6,.7,.8,.9, 1, 2);
    printf("#0248:%f %f %f %f %f %f %f %f %f %f %f %d\n",
           .1, .1,.2,.3,.4,.5,.6,.7,.8,.9,.1, 2);
    printf("#0250:%f %f %f %f %f %f %f %f %f %f %f %f\n",
           .1, .1,.2,.3,.4,.5,.6,.7,.8,.9,.1,.2);

    printf("#0253:%f %d %f %d %f %d %f %d %f %d %f %d\n",
           .1,  1,.2, 3,.4, 5,.6, 7,.8, 9,.1, 2);

    printf("#0256:%d %f %d %f %d %f %d %f %d %f %d %f\n",
            1, .1, 2,.3, 4,.5, 6,.7, 8,.9, 1,.2);
}


int
main() {
    print(1.0);
    print(0.1234);
    print(1.234e10);
    print(1.234e-10);
    tmp1();
    double_int();
    printf("#0269:%s", memchar );
    printf("#0270:%s", arraychar);
    return 0;
}