This archive contains a quick & dirty implementation of the IEEE Standard 1180-1990 accuracy test for inverse DCT. It is not guaranteed to be correct ... but if you find any bugs, please let me know (by email to tgl@cs.cmu.edu). The test harness consists of the C program ieeetest.c and shell script doieee. For comparison purposes I have also supplied a copy of jrevdct.c, the inverse DCT routine from release 4 of the Independent JPEG Group's free JPEG software. (jrevdct.c is slightly modified from the IJG release so that it will compile without the IJG include files.) jrevdct.c passes the 1180 test --- or at least, this program thinks so. jrevdct.out is the output from a test run. Note that numerical results may vary somewhat across machines. This appears to be mostly due to differing results from the cosine function. INSTALLATION: Check the Makefile, change CC and CFLAGS if needed. Then say "make". If your C compiler is non-ANSI, you may need to change includes and/or function headers. To test a different IDCT routine, link with that routine instead of jrevdct.o. You will need to modify dct.h and/or ieeetest.c if your routine's calling convention is not in-place modification of an array of 64 "short"s. USAGE: The standard test procedure is doieee ieeetest >outputfile Expect it to take a while (almost 80 minutes on my old 68030 box). Each of the six passes will emit a row of 100 dots as it runs. You can grep the output for the word FAILS if you just want to know yea or nay. LEGAL MUMBO-JUMBO: I hereby release the test harness to the public domain. Thomas G. Lane, 22 Nov 1993 IMPORTANT: jrevdct.c is NOT public domain, but is copyrighted free software (not the same thing at all). It is subject to IJG's distribution terms, which primarily state that if you incorporate it into a program you must acknowledge IJG's contribution in your program documentation. For more details and the complete IJG software, see the IJG FTP archive at ftp.uu.net, in directory /graphics/jpeg.