From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/generic/realcalc/realtest.tex | 291 +++++++++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 macros/generic/realcalc/realtest.tex (limited to 'macros/generic/realcalc/realtest.tex') diff --git a/macros/generic/realcalc/realtest.tex b/macros/generic/realcalc/realtest.tex new file mode 100644 index 0000000000..7b3a95ef45 --- /dev/null +++ b/macros/generic/realcalc/realtest.tex @@ -0,0 +1,291 @@ +% realcalc.tex +% +% (C) Frank Buchholz, Jan. 1993 +% e-mail: buchholz@lusty.informatik.uni-dortmund.de +%% +%% Type \test\bye +%% + +\input realcalc + +% Test + +\catcode`@=11 + +\def\traceon{% + \tracingonline \@ne + \tracincommands \tw@ + \tracingstats \tw@ + \tracingpages \@ne + \tracingoutput \@ne + \tracinglostchars \@ne + \tracingmacros \tw@ + \tracingparagraphs \@ne + \tracingrestores \@ne + \showboxbreadth \maxdimen + \showboxdepth \maxdimen +} + +\def\traceoff{% + \tracingonline \@zero + \tracingcommands \@zero + \tracingstats \@zero + \tracingpages \@zero + \tracingoutput \@zero + \tracinglostchars \@zero + \tracingmacros \@zero + \tracingparagraphs \@zero + \tracingrestores \@zero + \showboxbreadth \maxdimen + \showboxdepth \maxdimen +} + +\errorstopmode + +\let\sl=\showlists +\let\st=\showthe +\let\s=\show +\def\e{\par \vfill \supereject} + +\def\test{% + \message{Test REALCALC.TEX \@Rversion:} + Test REALCALC.TEX \@Rversion\par\medskip + \testadd\medskip + \testsub\medskip + \testmul\medskip + \testdiv\medskip + \testneg\medskip + \testtrunc\medskip + \testifle\medskip + \testifeq\medskip + \testifgt\medskip + \testifneg\medskip + \testifzero\medskip + \testifpos\medskip + \testifint\medskip +} + +\def\testadd{% + \message{Radd} + Test: Radd\par + \def\a{1234.5678} + \def\b{4321.8765} + \Radd\r{123456789.987654321}{4321.123456789} + \r={123461111.111111110}\par + \Radd\r\a\b \r={5556.4443}\par + \Radd\r{-\a}\b \r={3087.3087}\par + \Radd\r\a{-\b} \r={-3087.3087}\par + \Radd\r{-\a}{-\b} \r={-5556.4443}\par +} + +\def\testsub{% + \message{Rsub} + Test: Rsub\par + \def\a{1234.5678} + \def\b{4321.8765} + \Rsub\r\a{-\b} \r={5556.4443}\par + \Rsub\r{-\a}{-\b} \r={3087.3087}\par + \Rsub\r\a\b \r={-3087.3087}\par + \Rsub\r{-\a}\b \r={-5556.4443}\par +} + +\def\testmul{% + \message{Rmul} + Test: Rmul\par + \def\a{1234} + \def\b{4321} + \Rmul\r{\a}{\b} \Rtrunc\r0\r \r={5332114}\par + \Rmul\r{-\a}{\b} \Rtrunc\r0\r \r={-5332114}\par + \Rmul\r{\a}{-\b} \Rtrunc\r0\r \r={-5332114}\par + \Rmul\r{-\a}{-\b} \Rtrunc\r0\r \r={5332114}\par + \Rmul\r\a0 \Rtrunc\r0\r \r={0}\par + \Rmul\r0\a \Rtrunc\r0\r \r={0}\par + \Rmul\r00 \Rtrunc\r0\r \r={0}\par + \Rmul\r\a1 \Rtrunc\r0\r \r={\a}\par + \Rmul\r1\a \Rtrunc\r0\r \r={\a}\par + \Rmul\r11 \Rtrunc\r0\r \r={1}\par + \Rmul\r\a{-1} \Rtrunc\r0\r \r={-\a}\par + \Rmul\r{-1}\a \Rtrunc\r0\r \r={-\a}\par + \Rmul\r{-1}{-1} \Rtrunc\r0\r \r={1}\par + + \Rmul\r{46340.123456789}{10.123456789}\r={469122.2374}\par + \Rmul\r{46340.123456789}{1}\r={46340.123456789}\par + \Rmul\r{46340.123456789}{100}\r={4634012.3456789}\par + \Rmul\r{0.5}{0.5} \r={0.25}\par + \Rmul\r\r\r \r={0.0625}\par + \Rmul\r\r\r \r={0.00390625}\par + \Rmul\r\r\r \r={0.000015258}\par + \Rmul\r\r\r \r={0}\par + \Rmul\r{1.6}{1.6} \r={2.56}\par + \Rmul\r\r\r \r={6.5536}\par + \Rmul\r\r\r \r={42.94967296}\par + \Rmul\r\r\r \r={1844.674407}\par + \Rmul\r\r\r \r={3402823.669}\par +} + +\def\testdiv{% + \message{Rdiv} + Test: Rdiv\par + not ready\par +} + +\def\testneg{% + \message{Rneg} + Test: Rneg\par + -\ 0 = \Rneg\r{0}\r\par + -\ -1 = \Rneg\r{-1}\r\par + -\ 1 = \Rneg\r{1}\r\par + -\ 0.5 = \Rneg\r{0.5}\r\par + -\ -0.5 = \Rneg\r{-0.5}\r\par + -\ -1234.5678 = \Rneg\r{-1234.5678}\r\par + -\ 1234.5678 = \Rneg\r{1234.5678}\r\par +} + +\def\testtrunc{% + \message{Rtrunc} + Test: Rtrunc\par + \def\a{12345.123456789012345} + 0:\ \Rtrunc\r0\a\r\ \Rtrunc\r00\r\par + 1:\ \Rtrunc\r1\a\r\ \Rtrunc\r10\r\par + 2:\ \Rtrunc\r2\a\r\ \Rtrunc\r20\r\par + 3:\ \Rtrunc\r3\a\r\ \Rtrunc\r30\r\par + 4:\ \Rtrunc\r4\a\r\ \Rtrunc\r40\r\par + 5:\ \Rtrunc\r5\a\r\ \Rtrunc\r50\r\par + 6:\ \Rtrunc\r6\a\r\ \Rtrunc\r60\r\par + 7:\ \Rtrunc\r7\a\r\ \Rtrunc\r70\r\par + 8:\ \Rtrunc\r8\a\r\ \Rtrunc\r80\r\par + 9:\ \Rtrunc\r9\a\r\ \Rtrunc\r90\r\par +} + +\def\testifle{% + \message{Rifle} + Test: Rifle\par + 0 $<$ 0 \Rifle{0}{0} fehler\else ok\fi\par + 0 $<$ 1 \Rifle{0}{1} ok\else fehler\fi\par + 1 $<$ 0 \Rifle{1}{0} fehler\else ok\fi\par + 1 $<$ 1 \Rifle{1}{1} fehler\else ok\fi\par + 1 $<$ 2 \Rifle{1}{2} ok\else fehler\fi\par + 2 $<$ 1 \Rifle{2}{1} fehler\else ok\fi\par + 0 $<$ -1 \Rifle{0}{-1} fehler\else ok\fi\par + -1 $<$ 0 \Rifle{-1}{0} ok\else fehler\fi\par + -1 $<$ -1 \Rifle{-1}{-1} fehler\else ok\fi\par + -1 $<$ -2 \Rifle{-1}{-2} fehler\else ok\fi\par + -2 $<$ -1 \Rifle{-2}{-1} ok\else fehler\fi\par + + 1 $<$ 1.2 \Rifle{1}{1.2} ok\else fehler\fi\par + 1.2 $<$ 1 \Rifle{1.2}{1} fehler\else ok\fi\par + -1 $<$ -1.2 \Rifle{-1}{-1.2} fehler\else ok\fi\par + -1.2 $<$ -1 \Rifle{-1.2}{-1} ok\else fehler\fi\par + + 0.1 $<$ 0.1 \Rifle{0.1}{0.1} fehler\else ok\fi\par + 0.1 $<$ 0.2 \Rifle{0.1}{0.2} ok\else fehler\fi\par + 0.2 $<$ 0.1 \Rifle{0.2}{0.1} fehler\else ok\fi\par + -0.1 $<$ -0.2 \Rifle{-0.1}{-0.2} fehler\else ok\fi\par + -0.1 $<$ -0.1 \Rifle{-0.1}{-0.1} fehler\else ok\fi\par + -0.2 $<$ -0.1 \Rifle{-0.2}{-0.1} ok\else fehler\fi\par +} + +\def\testifeq{% + \message{Rifeq} + Test: Rifeq\par + 0 = 0 \Rifeq{0}{0} ok\else fehler\fi\par + 0 = 1 \Rifeq{0}{1} fehler\else ok\fi\par + 1 = 0 \Rifeq{1}{0} fehler\else ok\fi\par + 1 = 1 \Rifeq{1}{1} ok\else fehler\fi\par + 1 = 2 \Rifeq{1}{2} fehler\else ok\fi\par + 2 = 1 \Rifeq{2}{1} fehler\else ok\fi\par + 0 = -1 \Rifeq{0}{-1} fehler\else ok\fi\par + -1 = 0 \Rifeq{-1}{0} fehler\else ok\fi\par + -1 = -1 \Rifeq{-1}{-1} ok\else fehler\fi\par + -1 = -2 \Rifeq{-1}{-2} fehler\else ok\fi\par + -2 = -1 \Rifeq{-2}{-1} fehler\else ok\fi\par + + 1 = 1.2 \Rifeq{1}{1.2} fehler\else ok\fi\par + 1.2 = 1 \Rifeq{1.2}{1} fehler\else ok\fi\par + -1 = -1.2 \Rifeq{-1}{-1.2} fehler\else ok\fi\par + -1.2 = -1 \Rifeq{-1.2}{-1} fehler\else ok\fi\par + + 0.1 = 0.1 \Rifeq{0.1}{0.1} ok\else fehler\fi\par + 0.1 = 0.2 \Rifeq{0.1}{0.2} fehler\else ok\fi\par + 0.2 = 0.1 \Rifeq{0.2}{0.1} fehler\else ok\fi\par + -0.1 = -0.2 \Rifeq{-0.1}{-0.2} fehler\else ok\fi\par + -0.1 = -0.1 \Rifeq{-0.1}{-0.1} ok\else fehler\fi\par + -0.2 = -0.1 \Rifeq{-0.2}{-0.1} fehler\else ok\fi\par +} + +\def\testifgt{% + \message{Rifgt} + Test: Rifgt\par + 0 $>$ 0 \Rifgt{0}{0} fehler\else ok\fi\par + 0 $>$ 1 \Rifgt{0}{1} fehler\else ok\fi\par + 1 $>$ 0 \Rifgt{1}{0} ok\else fehler\fi\par + 1 $>$ 1 \Rifgt{1}{1} fehler\else ok\fi\par + 1 $>$ 2 \Rifgt{1}{2} fehler\else ok\fi\par + 2 $>$ 1 \Rifgt{2}{1} ok\else fehler\fi\par + 0 $>$ -1 \Rifgt{0}{-1} ok\else fehler\fi\par + -1 $>$ 0 \Rifgt{-1}{0} fehler\else ok\fi\par + -1 $>$ -1 \Rifgt{-1}{-1} fehler\else ok\fi\par + -1 $>$ -2 \Rifgt{-1}{-2} ok\else fehler\fi\par + -2 $>$ -1 \Rifgt{-2}{-1} fehler\else ok\fi\par + + 1 $>$ 1.2 \Rifgt{1}{1.2} fehler\else ok\fi\par + 1.2 $>$ 1 \Rifgt{1.2}{1} ok\else fehler\fi\par + -1 $>$ -1.2 \Rifgt{-1}{-1.2} ok\else fehler\fi\par + -1.2 $>$ -1 \Rifgt{-1.2}{-1} fehler\else ok\fi\par + + 0.1 $>$ 0.1 \Rifgt{0.1}{0.1} fehler\else ok\fi\par + 0.1 $>$ 0.2 \Rifgt{0.1}{0.2} fehler\else ok\fi\par + 0.2 $>$ 0.1 \Rifgt{0.2}{0.1} ok\else fehler\fi\par + -0.1 $>$ -0.2 \Rifgt{-0.1}{-0.2} ok\else fehler\fi\par + -0.1 $>$ -0.1 \Rifgt{-0.1}{-0.1} fehler\else ok\fi\par + -0.2 $>$ -0.1 \Rifgt{-0.2}{-0.1} fehler\else ok\fi\par +} + +\def\testifneg{% + \message{Rifneg} + Test: Rifneg\par + 0: \Rifneg{0} fehler\else ok\fi\par + 0.5: \Rifneg{0.5} fehler\else ok\fi\par + .5: \Rifneg{.5} fehler\else ok\fi\par + 1: \Rifneg{1} fehler\else ok\fi\par + -0: \Rifneg{-0} fehler\else ok\fi\par + -0.5: \Rifneg{-0.5} ok\else fehler\fi\par + -1: \Rifneg{-1} ok\else fehler\fi\par +} + +\def\testifzero{% + \message{Rifzero} + Test: Rifzero\par + 0: \Rifzero{0} ok\else fehler\fi\par + 0.5: \Rifzero{0.5} fehler\else ok\fi\par + .5: \Rifzero{.5} fehler\else ok\fi\par + 1: \Rifzero{1} fehler\else ok\fi\par + -0: \Rifzero{-0} ok\else fehler\fi\par + -0.5: \Rifzero{-0.5} fehler\else ok\fi\par + -1: \Rifzero{-1} fehler\else ok\fi\par +} + +\def\testifpos{% + \message{Rifpos} + Test: Rifpos\par + 0: \Rifpos{0} ok\else fehler\fi\par + 0.5: \Rifpos{0.5} ok\else fehler\fi\par + .5: \Rifpos{.5} ok\else fehler\fi\par + 1: \Rifpos{1} ok\else fehler\fi\par + -0: \Rifpos{-0} ok\else fehler\fi\par + -0.5: \Rifpos{-0.5} fehler\else ok\fi\par + -1: \Rifpos{-1} fehler\else ok\fi\par +} + +\def\testifint{% + \message{Rifint} + Test: Rifint\par + 0: \Rifint{0} ok\else fehler\fi\par + -0: \Rifint{-0} ok\else fehler\fi\par + 1: \Rifint{1} ok\else fehler\fi\par + -1: \Rifint{-1} ok\else fehler\fi\par + 0.5: \Rifint{0.5} fehler\else ok\fi\par + -0.5: \Rifint{-0.5} fehler\else ok\fi\par + 1.5: \Rifint{1.5} fehler\else ok\fi\par + -1.5: \Rifint{-1.5} fehler\else ok\fi\par +} -- cgit v1.2.3