init
[uebersetzerbau-ss10.git] / aus_sammelwut / paulchen / ublu / ss08 / test_asma.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 extern void asma(unsigned char *s, unsigned char *t, unsigned char *u);
6                 
7 void asma_ref(unsigned char *s, unsigned char *t, unsigned char *u)  
8 {  
9   int i;  
10   for (i=0; i<16; i++)  
11     u[i] = (s[i]>t[i]) ? s[i] : t[i];  
12
13
14 int main(int argc, char **argv) {
15         char input1[]="0123456789abcdefghijklm\nnopqr\n\nstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ\0.""...................";
16         char *input2=strdup(input1);
17         char *output1;
18         char *output2;
19
20         int a,b;
21         for(a=1;a<70;a++) {
22                 for(b=1;b<70;b++) {
23                         output1=(char *)malloc(17*(sizeof(char)+1));
24                         output2=(char *)malloc(17*(sizeof(char)+1));
25         
26                         asma_ref((unsigned char *)(input1+a),(unsigned char *)(input2+b),(unsigned char *)output1);
27                         asma((unsigned char *)(input1+a),(unsigned char *)(input2+b),(unsigned char *)output2);
28
29                         output1[16]='\0';
30                         output2[16]='\0';
31
32                         if(memcmp(output1,output2, 16)!=0) {
33                                 printf("Testfall falsch, erwartet %s, tatsaechliches Ergebnis: %s\n",output1,output2);
34                         }
35                         free(output1);
36                         free(output2);
37                 }
38         }
39         return 0;
40 }
41
42