Mercurial > mplayer.hg
changeset 3510:0e5829f1fb75
gcc -O? thinks a*0.0 != 0.0 so we need a better cmp
author | michael |
---|---|
date | Sun, 16 Dec 2001 00:31:44 +0000 |
parents | 21c7b77b3e83 |
children | 70a686041bbe |
files | liba52/compare.c |
diffstat | 1 files changed, 50 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/liba52/compare.c Sun Dec 16 00:31:44 2001 +0000 @@ -0,0 +1,50 @@ +// File written by Michael Niedermayer and its under GPL +// simple file compare program, it finds the number of rounding errors +// and dies if there is a larger error ( ABS(a-b)>1 ) + +#include <stdio.h> + +// FIXME no checks but its just for debuging so who cares ;) + +int main(int argc, char **argv) +{ + FILE *f0, *f1; + int dif=0; + + if(argc!=3) + { + printf("compare <file1> <file2>\n"); + exit(2); + } + + f0= fopen(argv[1], "rb"); + f1= fopen(argv[2], "rb"); + + for(;;) + { + int c0= fgetc(f0); + int c1= fgetc(f1); + int d= c0-c1; + if(c0<0 && c1<0) break; + if(c0<0 || c1<0) + { + printf("FATAL error, files have different size!\n"); + exit(1); + } + + if(d<0) d=-d; // ABS + if(d>1) + { + printf("FATAL error, too large differnce found!\n"); + exit(1); + } + + if(d) dif++; + } + + fclose(f0); + fclose(f1); + + printf("%d (+/-1)differences found\n", dif); + exit(0); +} \ No newline at end of file