lib/floatlib.doc Documentation for the floating-point routines
flonck.i An RPN calculator
flonck.doc Documentation for flonck.i
- fft.i Fast Fourier Transform (requires floatlib)
- fft.doc Description of fft.i
- delta.fft
- tophat.fft Sample input for FFT
+ fft.i Fast Fourier Transform (requires syslib and floatlib)
+ fft.doc + Description of fft.i
by Donald Knuth
tpk.i Don Knuth's implementation of the TPK algorithm
# For instructions on test conventions, see the header comment of regresscheck
test: $(TARGETS)
@./beer | ./regresscheck beer
+ @cat fft-delta.tst | fft | ./regresscheck fft-delta
+ @cat fft-tophat.tst | fft | ./regresscheck fft-tophat
@echo 'Hello, sailor!' | ./regresscheck icat
@echo 'A man, a plan, a canal, Panama.' | ./rot13 | ./regresscheck rot13
@echo 'A man, a plan, a canal, Panama.' | ./rot13b | ./regresscheck rot13b
+++ /dev/null
-ONE
-ONE TWO EIGHT
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-SIX OH OH OH OH OH OH ZERO ONE
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-SIX OH OH OH OH OH OH ZERO ONE
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
--- /dev/null
+
+II
+
+CXXVIII
+
+cxxII
+_
+
+ ______
+cxviiDCXCIVCCII
+ ________
+cxcDCCXXXIVCMLVI
+ _______
+cxDCCCLXVDII
+ ____
+cxivCDXLCMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ ________
+cxcDCCXXXIVCMLV
+ _______
+dcccxlviiiDXXVIIICI
+ _________
+dcclxMMCMXXXIXDLVI
+ ________
+dclxviDCLXXXIVCCCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ ____
+cdlixCCXXCI
+ _____
+clxxMDCLXMCDLV
+ _____
+ccxxxivCVIIIDI
+ _______
+clxMMCXXIVDCLV
+_
+
+_
+
+ _____
+mccxxxivCVIIICDI
+ __________
+cmlMMMDCLXXIVCCCLVII
+ ____
+mcdlixCCXXI
+ ______
+dlxxMMCCIVDCLVI
+ ________
+mdclxviDCLXXXIVCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ _______
+mdcccxlviiiDXXVIIII
+ __________
+mclMMDLXXXVIICMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ __________
+mclMMDLXXXVIICMLV
+ _______
+mcxDCCCLXVDII
+ ________
+mcxcDCCXXXIVCMLV
+ ______
+mcxviiDCXCIVCCII
+ _____
+mcccvCLXXVDCCCLV
+
+mcxxII
+_
+
+ ______
+mcxviiDCXCIVCCII
+ ________
+mcxcDCCXXXIVCMLVI
+ _______
+mcxDCCCLXVDII
+ ____
+mcxivCDXLCMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ ________
+mcxcDCCXXXIVCMLV
+ _______
+mdcccxlviiiDXXVIIICI
+ _________
+mdcclxMMCMXXXIXDLVI
+ ________
+mdclxviDCLXXXIVCCCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ ____
+mcdlixCCXXCI
+ _____
+mclxxMDCLXMCDLV
+ _____
+mccxxxivCVIIIDI
+ _______
+mclxMMCXXIVDCLV
+_
+
+_
+
+ _____
+ccxxxivCVIIICDI
+ __________
+mcmlMMMDCLXXIVCCCLVII
+ ____
+cdlixCCXXI
+ ______
+mdlxxMMCCIVDCLVI
+ ________
+dclxviDCLXXXIVCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ _______
+dcccxlviiiDXXVIIII
+ __________
+clMMDLXXXVIICMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ __________
+clMMDLXXXVIICMLV
+ _______
+cxDCCCLXVDII
+ ________
+cxcDCCXXXIVCMLV
+ ______
+cxviiDCXCIVCCII
+ _____
+cccvCLXXVDCCCLV
+
+cxxII
+_
+
+ ______
+cxviiDCXCIVCCII
+ ________
+cxcDCCXXXIVCMLVI
+ _______
+cxDCCCLXVDII
+ ____
+cxivCDXLCMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ ________
+cxcDCCXXXIVCMLV
+ _______
+dcccxlviiiDXXVIIICI
+ _________
+dcclxMMCMXXXIXDLVI
+ ________
+dclxviDCLXXXIVCCCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ ____
+cdlixCCXXCI
+ _____
+clxxMDCLXMCDLV
+ _____
+ccxxxivCVIIIDI
+ _______
+clxMMCXXIVDCLV
+_
+
+_
+
+ _____
+mccxxxivCVIIICDI
+ __________
+cmlMMMDCLXXIVCCCLVII
+ ____
+mcdlixCCXXI
+ ______
+dlxxMMCCIVDCLVI
+ ________
+mdclxviDCLXXXIVCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ _______
+mdcccxlviiiDXXVIIII
+ __________
+mclMMDLXXXVIICMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ __________
+mclMMDLXXXVIICMLV
+ _______
+mcxDCCCLXVDII
+ ________
+mcxcDCCXXXIVCMLV
+ ______
+mcxviiDCXCIVCCII
+ _____
+mcccvCLXXVDCCCLV
+
+mcxxII
+_
+
+ ______
+mcxviiDCXCIVCCII
+ ________
+mcxcDCCXXXIVCMLVI
+ _______
+mcxDCCCLXVDII
+ ____
+mcxivCDXLCMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ ________
+mcxcDCCXXXIVCMLV
+ _______
+mdcccxlviiiDXXVIIICI
+ _________
+mdcclxMMCMXXXIXDLVI
+ ________
+mdclxviDCLXXXIVCCCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ ____
+mcdlixCCXXCI
+ _____
+mclxxMDCLXMCDLV
+ _____
+mccxxxivCVIIIDI
+ _______
+mclxMMCXXIVDCLV
+_
+
+_
+
+ _____
+ccxxxivCVIIICDI
+ __________
+mcmlMMMDCLXXIVCCCLVII
+ ____
+cdlixCCXXI
+ ______
+mdlxxMMCCIVDCLVI
+ ________
+dclxviDCLXXXIVCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ _______
+dcccxlviiiDXXVIIII
+ __________
+clMMDLXXXVIICMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ __________
+clMMDLXXXVIICMLV
+ _______
+cxDCCCLXVDII
+ ________
+cxcDCCXXXIVCMLV
+ ______
+cxviiDCXCIVCCII
+ _____
+cccvCLXXVDCCCLV
+
+cxxII
+_
+
+ ______
+cxviiDCXCIVCCII
+ ________
+cxcDCCXXXIVCMLVI
+ _______
+cxDCCCLXVDII
+ ____
+cxivCDXLCMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ ________
+cxcDCCXXXIVCMLV
+ _______
+dcccxlviiiDXXVIIICI
+ _________
+dcclxMMCMXXXIXDLVI
+ ________
+dclxviDCLXXXIVCCCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ ____
+cdlixCCXXCI
+ _____
+clxxMDCLXMCDLV
+ _____
+ccxxxivCVIIIDI
+ _______
+clxMMCXXIVDCLV
+_
+
+_
+
+ _____
+mccxxxivCVIIICDI
+ __________
+cmlMMMDCLXXIVCCCLVII
+ ____
+mcdlixCCXXI
+ ______
+dlxxMMCCIVDCLVI
+ ________
+mdclxviDCLXXXIVCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ _______
+mdcccxlviiiDXXVIIII
+ __________
+mclMMDLXXXVIICMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ __________
+mclMMDLXXXVIICMLV
+ _______
+mcxDCCCLXVDII
+ ________
+mcxcDCCXXXIVCMLV
+ ______
+mcxviiDCXCIVCCII
+ _____
+mcccvCLXXVDCCCLV
+
+mcxxII
+_
+
+ ______
+mcxviiDCXCIVCCII
+ ________
+mcxcDCCXXXIVCMLVI
+ _______
+mcxDCCCLXVDII
+ ____
+mcxivCDXLCMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ ________
+mcxcDCCXXXIVCMLV
+ _______
+mdcccxlviiiDXXVIIICI
+ _________
+mdcclxMMCMXXXIXDLVI
+ ________
+mdclxviDCLXXXIVCCCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ ____
+mcdlixCCXXCI
+ _____
+mclxxMDCLXMCDLV
+ _____
+mccxxxivCVIIIDI
+ _______
+mclxMMCXXIVDCLV
+_
+
+_
+
+ _____
+ccxxxivCVIIICDI
+ __________
+mcmlMMMDCLXXIVCCCLVII
+ ____
+cdlixCCXXI
+ ______
+mdlxxMMCCIVDCLVI
+ ________
+dclxviDCLXXXIVCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ _______
+dcccxlviiiDXXVIIII
+ __________
+clMMDLXXXVIICMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ __________
+clMMDLXXXVIICMLV
+ _______
+cxDCCCLXVDII
+ ________
+cxcDCCXXXIVCMLV
+ ______
+cxviiDCXCIVCCII
+ _____
+cccvCLXXVDCCCLV
+
+cxxII
+_
+
+ ______
+cxviiDCXCIVCCII
+ ________
+cxcDCCXXXIVCMLVI
+ _______
+cxDCCCLXVDII
+ ____
+cxivCDXLCMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ ________
+cxcDCCXXXIVCMLV
+ _______
+dcccxlviiiDXXVIIICI
+ _________
+dcclxMMCMXXXIXDLVI
+ ________
+dclxviDCLXXXIVCCCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ ____
+cdlixCCXXCI
+ _____
+clxxMDCLXMCDLV
+ _____
+ccxxxivCVIIIDI
+ _______
+clxMMCXXIVDCLV
+_
+
+_
+
+ _____
+mccxxxivCVIIICDI
+ __________
+cmlMMMDCLXXIVCCCLVII
+ ____
+mcdlixCCXXI
+ ______
+dlxxMMCCIVDCLVI
+ ________
+mdclxviDCLXXXIVCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ _______
+mdcccxlviiiDXXVIIII
+ __________
+mclMMDLXXXVIICMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ __________
+mclMMDLXXXVIICMLV
+ _______
+mcxDCCCLXVDII
+ ________
+mcxcDCCXXXIVCMLV
+ ______
+mcxviiDCXCIVCCII
+ _____
+mcccvCLXXVDCCCLV
+
+mcxxII
+_
+
+ ______
+mcxviiDCXCIVCCII
+ ________
+mcxcDCCXXXIVCMLVI
+ _______
+mcxDCCCLXVDII
+ ____
+mcxivCDXLCMLV
+ _____
+mcmxcviiDCCLXMMMCDI
+ ________
+mcxcDCCXXXIVCMLV
+ _______
+mdcccxlviiiDXXVIIICI
+ _________
+mdcclxMMCMXXXIXDLVI
+ ________
+mdclxviDCLXXXIVCCCI
+ __________
+mcmlMMMDCLXXIVCCCLVI
+ ____
+mcdlixCCXXCI
+ _____
+mclxxMDCLXMCDLV
+ _____
+mccxxxivCVIIIDI
+ _______
+mclxMMCXXIVDCLV
+_
+
+_
+
+ _____
+ccxxxivCVIIICDI
+ __________
+mcmlMMMDCLXXIVCCCLVII
+ ____
+cdlixCCXXI
+ ______
+mdlxxMMCCIVDCLVI
+ ________
+dclxviDCLXXXIVCI
+ __________
+cmlMMMDCLXXIVCCCLVI
+ _______
+dcccxlviiiDXXVIIII
+ __________
+clMMDLXXXVIICMLV
+ _____
+cmxcviiDCCLXMMMCDI
+ __________
+clMMDLXXXVIICMLV
+ _______
+cxDCCCLXVDII
+ ________
+cxcDCCXXXIVCMLV
+ ______
+cxviiDCXCIVCCII
+ _____
+cccvCLXXVDCCCLV
--- /dev/null
+ONE
+ONE TWO EIGHT
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+SIX OH OH OH OH OH OH ZERO ONE
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+SIX OH OH OH OH OH OH ZERO ONE
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
--- /dev/null
+
+II
+
+CXXVIII
+
+cc
+_
+
+ _______
+cxcivDCCCLIXCM
+ ______
+mcdlxxviiiCCCLIVCCLII
+ _______
+clxxixCMXVIIIDC
+ ___________
+mdccclxxxMMMDCCCLXXXMCCLII
+ ____
+clviDLIXC
+ ________
+mcxvCDLXXXIVDCCLI
+ _____
+cxxviCMXIVDC
+ ______
+mcxxivCMXCIXCMLI
+ ________
+cmxxxviCCCXXVIICCLI
+ ________
+mcxvCDLXXXIVDCCCLI
+ ________
+dxcvDCCCLXVILI
+ ___________
+mdccclxxxMMMDCCCLXXXMDCCLII
+ ______
+cclxxvDCLXXXMMDLI
+ ____
+mcdlxxviiiCCCLMMCMLII
+_
+
+_
+
+ _____
+mccxMMMXXDCCCLI
+ ______
+cdlxxviiiCCCLIVDCCLII
+ _________
+mccclMMDCCCLXVCMLI
+ ___________
+dccclxxxMMMDCCCLXXXMMMLII
+ _______
+mcdxviiCCCVIIIDCCCLI
+ ________
+cxvCDLXXXIVDCCCLI
+ ______
+mcdxMMLXIXDCLI
+ ______
+cxxivCMXCIXCMLI
+ _______
+mcccxlixDLXXVIIDCCLI
+ ________
+cxvCDLXXXIVCMLI
+ ______
+mccxlviiXXVIIIDCCLI
+ ___________
+dccclxxxMMMDCCCLXXXMMCCCLII
+ ____
+mcxxivVIIIDCLI
+ ______
+cdlxxviiiCCCLIVCLII
+_
+
+_
+
+ ____
+cviiCMXVLI
+ ______
+mcdlxxviiiCCCLIVLII
+ ________
+clxxxviDCCCLXXXMDLI
+ ___________
+mdccclxxxMMMDCCCLXXXMMDLII
+ ______
+ccxxixCDXXIXCLI
+ ________
+mcxvCDLXXXIVCMLI
+ ____________
+ccxxxMMMDCCCLVIIIDLI
+ ______
+mcxxivCMXCIXCMLI
+ __________
+ccMMMDCCCLIXCDLI
+ ________
+mcxvCDLXXXIVCMLI
+ _______
+cxlviiCDLXVIICLI
+ ___________
+mdccclxxxMMMDCCCLXXXMMDCCCLII
+ ____
+dcclvCDIVCDLII
+ ____
+mcdlxxviiiCCCLMMMCMLII
+_
+
+_
+
+ ___
+mdclxxixCCXDCLII
+ ______
+cdlxxviiiCCCLIVCCCLII
+ _______
+mcxixCLXXVIIDCCCLI
+ ___________
+dccclxxxMMMDCCCLXXXMMMCLII
+ ______
+mcxlviiCMLXXXCCLI
+ ________
+cxvCDLXXXIVCMLI
+ ______
+mclMMCCCXMMDCCCLI
+
+cxxvLI
+ ______________
+mcxxxMMMDCCCLXXVIIICMLI
+ ________
+cxvCDLXXXIVCMLI
+ ___
+mcmlxxvCCXMMMDLII
+ ___________
+dccclxxxMMMDCCCLXXXMMCMLII
+ ________
+mdMMCDXXIXCCLII
+ ______
+cdlxxviiiCCCLIVCLII
+_
+
+_
+
+ _____
+cdlvCDXXXMLII
+ ______
+mcdlxxviiiCCCLIVCCLII
+ ___
+dcccMCVCCCLII
+ ___________
+mdccclxxxMMMDCCCLXXXMMMCCLII
+ ______
+cmxcviCLXXIXCMLII
+ ________
+mcxvCDLXXXIVCMLI
+ _________
+cMMDLXXXIVDCCCLI
+
+mcxxvLI
+ ____
+cmMCCLMMMCLII
+ ________
+mcxvCDLXXXIVCMLI
+ ____
+dclvDXXXMMDCCCLII
+ ___________
+mdccclxxxMMMDCCCLXXXMMMCCLII
+ _______
+cccxxxviDCCCXCVCDLII
+ ______
+mcdlxxviiiCCCLIVCCLII
+_
+
+_
+
+ _______
+mcccMMCMXIVCCLII
+ ______
+cdlxxviiiCCCLIVCCLII
+ __________
+mdxxixDCCLXXVIIICMLII
+ ___________
+dccclxxxMMMDCCCLXXXMMMLII
+ ___
+mdclivCCXMMMDCLII
+ ________
+cxvCDLXXXIVCMLI
+ ________
+mdclxviiiCXXXVIIICCCLII
+ ______
+cxxivCMXCIXCMLI
+ ____
+mdlxxxMCCCMDCLII
+ ________
+cxvCDLXXXIVCMLI
+ ___
+mcdxviiiXLVCCCLII
+ ___________
+dccclxxxMMMDCCCLXXXMMDCLII
+ _______
+mccxMMXXXIXCCCLII
+ ____
+cdlxxviiiCCCLMMMDCCCLII
+_
+
+_
+
+ ___
+clxxxivDXXMCCCLII
+ ____
+mcdlxxviiiCCCLMMMCMLII
+ _______
+cccxviCCLVIIICCLII
+ ___________
+mdccclxxxMMMDCCCLXXXMMCMLII
+ ___
+ccclxxxMDXCLII
+ ________
+mcxvCDLXXXIVCMLI
+ _____
+ccclxxixCLXXXMMDLII
+ ______
+mcxxivCMXCIXCMLI
+ _______
+cccxixDLXXXIXCCLII
+ ________
+mcxvCDLXXXIVCMLI
+ ___
+ccxxMCDMLII
+ ___________
+mdccclxxxMMMDCCCLXXXMMMLII
+ _______
+cviiCDXVIIILII
+ ______
+mcdlxxviiiCCCLIVCLII
+_
+
+_
+
+ ____
+mdcccxxxXVIILIII
+ ____
+cdlxxviiiCCCLMMMCMLII
+ ___
+mcxxxMCXCCCLII
+ ___________
+dccclxxxMMMDCCCLXXXMMDLII
+ _________
+mcxlMMCDXXXIVDCCCLII
+ ________
+cxvCDLXXXIVDCCCLI
+ _____
+mcxxMMMCXMDCLII
+ ______
+cxxivCMXCIXDCCCLI
+ ________
+mdccclMDCCCXXXMMMDCCCLIII
+ ________
+cxvCDLXXXIVDCCLI
+ ___
+mcdxxxivCXCLIII
+ ___________
+dccclxxxMMMDCCCLXXXMCCLII
+ ________
+mcxviiCCCLXXIXCDLIII
+ ____
+cdlxxviiiCCCLMCMLII
+_
+
+_
+
+ _______
+mcxviiCDXXVIICLIII
+ ______
+mcdlxxviiiCCCLIVCCLII
+ _____
+mcdxxxivCCXIXDCCCLIII
+ ___________
+mdccclxxxMMMDCCCLXXXMMMDLII
+ _________
+mdccclMDCCCLVIIDCCLIII
+ _______
+mcxvCDLXXXVLI
+ _______
+mcxxMMMCXIVLII
+
+mcxxvLI
+ _________
+mcxlMMCDXXXVIDCLII
+ _______
+mcxvCDLXXXVLI
+ ___
+mcxxxMCXMCDLII
+ ___________
+mdccclxxxMMMDCCCLXXXMMMDCCLII
+ __
+mdcccxxxXXLIII
+ ______
+mcdlxxviiiCCCLIVDCLII
+_
+
+_
+
+ _______
+cviiCDXVIIICLII
+ ______
+cdlxxviiiCCCLIVCCLII
+ ___
+ccxxMCDMLII
+ ___________
+dccclxxxMMMDCCCLXXXMMMCCCLII
+ _______
+cccxixDLXXXIXCDLII
+ ________
+cxvCDLXXXIVCMLI
+ _____
+ccclxxixCLXXXMMMLII
+
+cxxvLI
+ ___
+ccclxxxMDXCDLII
+ ________
+cxvCDLXXXIVCMLI
+ _______
+cccxviCCLVIIILII
+ ___________
+dccclxxxMMMDCCCLXXXMMMCCLII
+ ___
+clxxxivDXXMDLII
+ ______
+cdlxxviiiCCCLIVLII
+_
+
+_
+
+ _______
+mccxMMXXXIXDCCLII
+ ______
+mcdlxxviiiCCCLIVCDLII
+ ___
+mcdxviiiXLVCCLII
+ ___________
+mdccclxxxMMMDCCCLXXXMMMDCCCLII
+ ____
+mdlxxxMCCCMCMLII
+ _______
+mcxvCDLXXXVLI
+ ________
+mdclxviiiCXXXVIIIDCLII
+
+mcxxvLI
+ ___
+mdclivCCXMMMDCCLII
+ _______
+mcxvCDLXXXVLI
+ __________
+mdxxixDCCLXXVIIICMLII
+ _____________
+mdccclxxxMMMDCCCLXXXIVLII
+ _______
+mcccMMCMXIVCCCLII
+ ______
+mcdlxxviiiCCCLIVDCCLII
+_
+
+_
+
+ _______
+cccxxxviDCCCXCVCLII
+ ______
+cdlxxviiiCCCLIVCCLII
+ ____
+dclvDXXXMMCCCLII
+ ___________
+dccclxxxMMMDCCCLXXXMMCMLII
+ ____
+cmMCCLMMCMLII
+ ________
+cxvCDLXXXIVCMLI
+ _________
+cMMDLXXXIVDCCCLI
+ ______
+cxxivCMXCIXCMLI
+ ______
+cmxcviCLXXIXDCCLII
+ ________
+cxvCDLXXXIVDCCCLI
+ ____
+dcccMCIVDCCCLII
+ ___________
+dccclxxxMMMDCCCLXXXMMCCCLII
+ _____
+cdlvCDXXXMLII
+ ____
+cdlxxviiiCCCLMMDCLII
+_
+
+_
+
+ _______
+mdMMCDXXXMCLII
+ ______
+mcdlxxviiiCCCLIVCDLII
+ _____
+mcmlxxvCCXIVDCLII
+ ___________
+mdccclxxxMMMDCCCLXXXMMMCMLII
+ ____________
+mcxxxMMMDCCCLXXIXCLI
+ _______
+mcxvCDLXXXVLI
+ ______
+mclMMCCCXMMCMLI
+
+mcxxvCLI
+ ______
+mcxlviiCMLXXXCCLI
+ _______
+mcxvCDLXXXVLI
+ _______
+mcxixCLXXVIIDCCCLI
+ _____________
+mdccclxxxMMMDCCCLXXXIVCCCLII
+ ___
+mdclxxixCCXDCCLII
+ _____
+mcdlxxviiiCCCLVCLII
+_
+
+_
+
+ __
+dcclvCDMMMDCCLII
+ ______
+cdlxxviiiCCCLIVCCLII
+ _______
+cxlviiCDLXVIILI
+ ___________
+dccclxxxMMMDCCCLXXXMMMDCLII
+ __________
+ccMMMDCCCLIXCCCLI
+ _______
+cxvCDLXXXVLI
+ ____________
+ccxxxMMMDCCCLVIIICDLI
+
+cxxvLI
+ ______
+ccxxixCDXXIXLI
+ _______
+cxvCDLXXXVLI
+ ________
+clxxxviDCCCLXXXMCCCLI
+ ___________
+dccclxxxMMMDCCCLXXXMMMDCCCLII
+ _____
+cviiCMXIVCMLI
+ ____
+cdlxxviiiCCCLMMMDCCCLII
+_
+
+_
+
+ ____
+mcxxivVIIIDCLI
+ ______
+mcdlxxviiiCCCLIVDCCLII
+ ______
+mccxlviiXXVIIIDCCCLI
+ ____________
+mdccclxxxMMMDCCCLXXXVLII
+ _______
+mcccxlixDLXXVIIDCCCLI
+ _______
+mcxvCDLXXXVCLI
+ ______
+mcdxMMLXIXDCLI
+
+mcxxvCCLI
+ _______
+mcdxviiCCCVIIICMLI
+ _______
+mcxvCDLXXXVCLI
+ __________
+mccclMMDCCCLXVILI
+ _____________
+mdccclxxxMMMDCCCLXXXVICLII
+ _____
+mccxMMMXXDCCCLI
+ ______
+mcdlxxviiiCCCLVIDLII
+_
+
+_
+
+ ______
+cclxxvDCLXXXMMCCCLI
+ ______
+cdlxxviiiCCCLIVCCCLII
+ _______
+dxcvDCCCLXVDLI
+ _____________
+dccclxxxMMMDCCCLXXXIVCDLII
+ _______
+cmxxxviCCCXXVIDCCLI
+ _______
+cxvCDLXXXVCCLI
+ _____
+cxxviCMXIVDC
+
+cxxvCDLI
+ ____
+clviDLIXC
+ _______
+cxvCDLXXXVCDLI
+ _______
+clxxixCMXVIIIDC
+ _________
+dccclxxxMMMDCCCXCCDLII
+ _______
+cxcivDCCCLIXDCCC
+ _____
+cdlxxviiiCCCLXMDCCCLII
--- /dev/null
+ONE
+ONE TWO EIGHT
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
+ONE TWO FIVE OH OH OH OH FIVE ONE
+ZERO
# This pattern doesn't handle well the case where one program has multiple
# tests, so options are provided to override the test file name
-chkfile=""
while getopts cp opt
do
case $opt in
- c) chkfile=$OPTARG ;; # Override the location of the checkfile
- p) prog=$OPTARG ;; # Override the name used in reporting
+ c) checkfile=$OPTARG ;; # Override the location of the checkfile
+ p) progname=$OPTARG ;; # Override the name used in reporting
esac
done
shift $(($OPTIND - 1))
+arg=$1
-if [ -z "$chkfile" ]
+if [ -z "$progname" ]
then
- chkfile=${1}.chk
+ progname=`basename ${arg}`
fi
-if [ -z "$prog" ]
+if [ -z "$checkfile" ]
then
- prog=`basename $chkfile`
+ checkfile=${arg}.chk
fi
-if diff - ${chkfile}
+if diff - ${checkfile}
then
- echo "Regression test of $prog succeeded.";
+ echo "Regression test of $progname succeeded.";
else
- echo "Regression test of $prog FAILED.";
+ echo "Regression test of $progname FAILED.";
fi
+++ /dev/null
-ONE
-ONE TWO EIGHT
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO
-ONE TWO FIVE OH OH OH OH FIVE ONE
-ZERO