summaryrefslogtreecommitdiff
path: root/macros/generic/realcalc/realtest.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/generic/realcalc/realtest.tex
Initial commit
Diffstat (limited to 'macros/generic/realcalc/realtest.tex')
-rw-r--r--macros/generic/realcalc/realtest.tex291
1 files changed, 291 insertions, 0 deletions
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
+}