init
[uebersetzerbau-ss10.git] / aus_sammelwut / paulchen / ublu / ss07 / asma_test.c
1 extern unsigned long asma(unsigned long a);
2                 
3 unsigned long asma_ref(unsigned long l)
4 {
5   unsigned long r;
6   unsigned char *s = (unsigned char *)&l;
7   unsigned char *t = (unsigned char *)&r;
8   int i;
9   for (i=0; i<sizeof(l); i++) {
10     unsigned char c=s[i];
11     c += (c>='A' && c<='Z') ? 'a'-'A' : 0;
12     t[i] = c;
13   }
14   return r;
15 }
16
17 int main() {
18         char test[]="0123456789abcdefghijklm\nnopqr\n\nstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ\0.""........";
19         unsigned long *pointer=(unsigned long *)test;
20
21         int a;
22         char *secondchar;
23         char *firstchar;
24         for(a=0;a<70;a++) {
25                 unsigned long bla1=asma(*pointer);
26                 unsigned long bla2=asma_ref(*pointer);
27                 
28                 if(bla1!=bla2) {
29                         printf("Testfall falsch, erwartet %li, tatsaechliches Ergebnis: %li\n",bla2,bla1);
30                 }
31                 secondchar=&test[1];
32                 firstchar=&test[0];
33                 memmove(firstchar,secondchar,75-a);
34         }
35 }
36
37