summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtto Moerbeek <otto@cvs.openbsd.org>2003-09-21 19:30:08 +0000
committerOtto Moerbeek <otto@cvs.openbsd.org>2003-09-21 19:30:08 +0000
commita49f96ee42e9905e1ffbc7799b3ac8106247f237 (patch)
tree625d26aa7bceeed043159c154944f9c30ecb2606
parent5e92f8fbdbb74581c4731f6e7e61a9a51d7add8c (diff)
A set of regressions for dc(1).
-rw-r--r--regress/usr.bin/dc/Makefile33
-rw-r--r--regress/usr.bin/dc/t1.in48
-rw-r--r--regress/usr.bin/dc/t1.out137
-rw-r--r--regress/usr.bin/dc/t2.in3
-rw-r--r--regress/usr.bin/dc/t2.out4
-rw-r--r--regress/usr.bin/dc/t4.in2
-rw-r--r--regress/usr.bin/dc/t4.out1
-rw-r--r--regress/usr.bin/dc/t5.in11
-rw-r--r--regress/usr.bin/dc/t5.out2
-rw-r--r--regress/usr.bin/dc/t6.in3
-rw-r--r--regress/usr.bin/dc/t6.out2
-rw-r--r--regress/usr.bin/dc/t7.in3
-rw-r--r--regress/usr.bin/dc/t7.out36
-rw-r--r--regress/usr.bin/dc/t8.in17
-rw-r--r--regress/usr.bin/dc/t8.out10
-rw-r--r--regress/usr.bin/dc/t9.in24
-rw-r--r--regress/usr.bin/dc/t9.out706
17 files changed, 1042 insertions, 0 deletions
diff --git a/regress/usr.bin/dc/Makefile b/regress/usr.bin/dc/Makefile
new file mode 100644
index 00000000000..4d03747ed4b
--- /dev/null
+++ b/regress/usr.bin/dc/Makefile
@@ -0,0 +1,33 @@
+# $OpenBSD: Makefile,v 1.1 2003/09/21 19:30:07 otto Exp $
+
+DC=dc
+
+REGRESS_TARGETS=t1 t2 t4 t5 t6 t7 t8 t9
+
+# .in: input file
+# .out: desired result
+
+# t1: basic operations, prints "dc: Runtime warning: non-zero scale in exponent"
+# t2: factoring program
+# t4: more string ops
+# t5: bc output, computing exp
+# t6: nesting level and tail recursion
+# t7: number input and string handling
+# t8: bc output, array operations
+# t9: output for different bases and wrapping of long lines
+
+all: clean ${REGRESS_TARGET}
+
+.SUFFIXES: .in
+
+.in:
+ @echo ${*}
+ @${DC} ${.CURDIR}/${*}.in > ${*}.log
+ @cmp -s ${.CURDIR}/${*}.out ${*}.log || \
+ (echo "XXX ${*} failed" && false)
+
+# Clean all files generated
+clean:
+ rm -f *.log
+
+.include <bsd.regress.mk>
diff --git a/regress/usr.bin/dc/t1.in b/regress/usr.bin/dc/t1.in
new file mode 100644
index 00000000000..3b119fc644d
--- /dev/null
+++ b/regress/usr.bin/dc/t1.in
@@ -0,0 +1,48 @@
+[1234]Xp s.
+12.345Xp s.
+[]Xp s.
+1Xp s.
+_1Xp s.
+3.99999999999999Xp s.
+_3.99999999999999Xp s.
+[]Zp s.
+[aap]Zp s.
+[aapnoot]Zp s.
+0Zp s.
+1Zp s.
+_1Zp s.
+3.99999999999999Zp s.
+_3.99999999999999Zp s.
+_1 3^p s.
+_1 3.0^p s.
+2.0 10^p s.
+100000000000000000000000000000000000000000000000000000000000000000000 99^ps.
+30k
+10000000000000000000000000000000000000vp s.
+0.3219832098321890321903903218321098321098213vp s.
+[ps.]sa
+1 0 1
+<a
+2 2 3
+!<a
+3 4 5
+>a
+4 6 7
+!>a
+5 8 9
+=a
+6 10 10
+=a
+7 11 11
+!=a
+8 12 13
+!=a
+c
+[OK] 0:a 0Sa [NOT OK] 0:a La 0;ap
+!echo ECHO
+[!echo STRING]sa
+lax
+[lip1+sili10>a]sa0silax
+c
+zp s.
+1 2 3 z ps.
diff --git a/regress/usr.bin/dc/t1.out b/regress/usr.bin/dc/t1.out
new file mode 100644
index 00000000000..61a8fdede06
--- /dev/null
+++ b/regress/usr.bin/dc/t1.out
@@ -0,0 +1,137 @@
+0
+3
+0
+0
+0
+14
+14
+0
+3
+7
+1
+1
+1
+15
+15
+-1
+-1
+1024.0
+100000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+000000000000000000000000000000000000000000000000000000000000000000000\
+0000000000000000000000000000000000000000
+3162277660168379331.998893544432718533719555139325
+.5674356437801462540323380286417965925128630
+2
+3
+6
+8
+OK
+ECHO
+STRING
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+0
+3
diff --git a/regress/usr.bin/dc/t2.in b/regress/usr.bin/dc/t2.in
new file mode 100644
index 00000000000..f9507950c9b
--- /dev/null
+++ b/regress/usr.bin/dc/t2.in
@@ -0,0 +1,3 @@
+[Adapted from a dc example by Michel Charpentier, see
+ http://www.cs.unh.edu/~charpov/Programming/DC/ ]s.
+10234252[p]s2[lip/dli%0=1dvsr]s12sid2%0=13sidvsr[dli%0=1lrli2+dsi!>.]ds.xd1<2
diff --git a/regress/usr.bin/dc/t2.out b/regress/usr.bin/dc/t2.out
new file mode 100644
index 00000000000..5273a398b02
--- /dev/null
+++ b/regress/usr.bin/dc/t2.out
@@ -0,0 +1,4 @@
+2
+2
+7
+365509
diff --git a/regress/usr.bin/dc/t4.in b/regress/usr.bin/dc/t4.in
new file mode 100644
index 00000000000..96048d76441
--- /dev/null
+++ b/regress/usr.bin/dc/t4.in
@@ -0,0 +1,2 @@
+[From toby@openbsd.org]sd
+[100SdSn lnld/ LnLd%Plax]sb16i0A2172656B63616820636420726568746F6E61207473754A[dZ1!=b]salax
diff --git a/regress/usr.bin/dc/t4.out b/regress/usr.bin/dc/t4.out
new file mode 100644
index 00000000000..897a812f313
--- /dev/null
+++ b/regress/usr.bin/dc/t4.out
@@ -0,0 +1 @@
+Just another dc hacker!
diff --git a/regress/usr.bin/dc/t5.in b/regress/usr.bin/dc/t5.in
new file mode 100644
index 00000000000..74f2d2ec37a
--- /dev/null
+++ b/regress/usr.bin/dc/t5.in
@@ -0,0 +1,11 @@
+ 20k
+[ 0lx-sx 1sw]s0
+[lx 2/sxly 1+sylx 2<1]s1
+[lglg*sglyd1-sy 0!=4]s4
+[ 1lg/Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys. 4Q]s5
+[lg 1/sglyd1-sy 0!=4 ltklw 1=5 lg 1/Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys. 3Q]s3
+[lblx*sblcla*lb+scldla*sdlcld/sglgle=3 lgselad1+sas. 1 1=2]s2
+[0Sy0Sw0St0Sg0Se0Sd0Sc0Sb0SaSxKstlt .434lx*+ 1+k 0swlx 0>0 0sylx 2<1 1sa 1sblbsc 1sd 1se 1dsas. 1 1=2 Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys.0 1Q]sE
+10lExps.
+10.6lExps.
+
diff --git a/regress/usr.bin/dc/t5.out b/regress/usr.bin/dc/t5.out
new file mode 100644
index 00000000000..b94fa0e0efb
--- /dev/null
+++ b/regress/usr.bin/dc/t5.out
@@ -0,0 +1,2 @@
+22026.46579480671651695789
+40134.83743087579310947682
diff --git a/regress/usr.bin/dc/t6.in b/regress/usr.bin/dc/t6.in
new file mode 100644
index 00000000000..98657718a83
--- /dev/null
+++ b/regress/usr.bin/dc/t6.in
@@ -0,0 +1,3 @@
+[1ps.1Q3ps.]sa
+[3ps.lax]sb
+lbx
diff --git a/regress/usr.bin/dc/t6.out b/regress/usr.bin/dc/t6.out
new file mode 100644
index 00000000000..f00580c4060
--- /dev/null
+++ b/regress/usr.bin/dc/t6.out
@@ -0,0 +1,2 @@
+3
+1
diff --git a/regress/usr.bin/dc/t7.in b/regress/usr.bin/dc/t7.in
new file mode 100644
index 00000000000..337dcb9ee1e
--- /dev/null
+++ b/regress/usr.bin/dc/t7.in
@@ -0,0 +1,3 @@
+[From http://www.cs.unh.edu/~charpov/Programming/DC/]s.
+22208085721160815839326341402121883690522320029255552164456082082121507399131784888796775404393238740752073581292176033192975608648980579511790754074629932624904826033926771561352802702304711849306991432140783663141097741410673769879986682209343466281135283290275369909264160273176470124389744289584917009576579173596679560702849116170806711176042540325188738564140628164804618257135693047847192850818282310363304691273054958318318136191456275934310979155326791959077883445003166261104834773132040707456928546349673980840313948708349674193786434159922651000968311352206702569130007195445654084933953345626389764219705628257612293204376976748352217929337471880882231223685405877498688770919610871973453341673913923792234893241993439245115105190893660465508673064373840268054184063151225377582060655786260788736204677135397194609418373902725670020397378638535454535982247377168952102335040177207305844444366209308523996849245976720417612176719067483022960817121007244452665449784273243174997760034496193814960150784537785113589011725985900508524882770853637523676303240173952011467376200157457202234158542518689678707600958087139914974630505378072055818423497887022672894966264722482896163204923500950712750800537457664585469095374214293974296229117403664516032413259929513310658563843081832487569416683206341446732898062734501513714984552459725473478529038715898310732843126214088302700527765333188909878114118156328607905954179948741014531467629112351746391357169021505149742077359053197219166630939696390194435167157513452231104227665811363415438461304936968404285629177347016678518931947203796484167545101613670772251307345495413035233907657705241691280430994746768012380728375146653630623831838222282318165089162386341671976737726353273451886027886364291170031129520721957416004799824490011955162466021287535364309928388542132049900161052116530089934228815775998215778916104959359698408064987438386886161480778575982275751968826631954742887974749292068020577501261842082809483702986629865701617200056158514119921272726266484084142349717069035717802916618873448175705514451223911583066310022020808646584937752763866798004057371097500872885733222570967153949159920525516838117787583988167897342360101235912871520761154734770678309671549603175730098764310659277164535040418340982101759825495735066065501823775306294622701628580346350888711132078451931296748345416719473558304071712[d256%P256/d0<.]ds.x
+
diff --git a/regress/usr.bin/dc/t7.out b/regress/usr.bin/dc/t7.out
new file mode 100644
index 00000000000..8e55c1aef45
--- /dev/null
+++ b/regress/usr.bin/dc/t7.out
@@ -0,0 +1,36 @@
+ JABBERWOCKY
+
+`Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe:
+All mimsy were the borogoves,
+ And the mome raths outgrabe.
+
+"Beware the Jabberwock, my son!
+ The jaws that bite, the claws that catch!
+Beware the Jubjub bird, and shun
+ The frumious Bandersnatch!"
+
+He took his vorpal sword in hand:
+ Long time the manxome foe he sought --
+So rested he by the Tumtum tree,
+ And stood awhile in thought.
+
+And, as in uffish thought he stood,
+ The Jabberwock, with eyes of flame,
+Came whiffling through the tulgey wood,
+ And burbled as it came!
+
+One, two! One, two! And through and through
+ The vorpal blade went snicker-snack!
+He left it dead, and with its head
+ He went galumphing back.
+
+"And, has thou slain the Jabberwock?
+ Come to my arms, my beamish boy!
+O frabjous day! Callooh! Callay!'
+ He chortled in his joy.
+
+`Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe;
+All mimsy were the borogoves,
+ And the mome raths outgrabe.
diff --git a/regress/usr.bin/dc/t8.in b/regress/usr.bin/dc/t8.in
new file mode 100644
index 00000000000..0da53a55c51
--- /dev/null
+++ b/regress/usr.bin/dc/t8.in
@@ -0,0 +1,17 @@
+[S1S,Salaps. 0;,ps. 99 1:,Las.L,s.L1s.0 1Q]sF
+
+ 13sa
+ 33 0:i
+ 44 1:i
+
+ 77 0:c
+ 88 1:c
+
+lalilclFxps.
+ 2lclclFxps.
+
+ 0;ips.
+ 1;ips.
+ 0;cps.
+ 1;cps.
+q
diff --git a/regress/usr.bin/dc/t8.out b/regress/usr.bin/dc/t8.out
new file mode 100644
index 00000000000..31d43ce0fb3
--- /dev/null
+++ b/regress/usr.bin/dc/t8.out
@@ -0,0 +1,10 @@
+13
+33
+0
+2
+77
+0
+33
+44
+77
+88
diff --git a/regress/usr.bin/dc/t9.in b/regress/usr.bin/dc/t9.in
new file mode 100644
index 00000000000..46437c066f1
--- /dev/null
+++ b/regress/usr.bin/dc/t9.in
@@ -0,0 +1,24 @@
+[10o[* ]Ppop]sb
+
+[[==== ]10oPp 2lbx 3 lbx 4 lbx 5lbx 6lbx 7 lbx 8lbx 9lbx 10lbx 16lbx
+17 lbx 20lbx 99lbx 100lbx 101lbx 1000lbx 10000lbx 2 30^lbx
+[====
+]Ps.]sa
+0lax
+1lax
+10lax
+100lax
+1000lax
+10000lax
+_1lax
+_10lax
+_100lax
+_1000lax
+_10000lax
+10.1lax
+10.01lax
+10.10lax
+1024
+25lax
+125lax
+2.1 500^lax
diff --git a/regress/usr.bin/dc/t9.out b/regress/usr.bin/dc/t9.out
new file mode 100644
index 00000000000..f854d12a6df
--- /dev/null
+++ b/regress/usr.bin/dc/t9.out
@@ -0,0 +1,706 @@
+==== 0
+* 2
+0
+* 3
+0
+* 4
+0
+* 5
+0
+* 6
+0
+* 7
+0
+* 8
+0
+* 9
+0
+* 10
+0
+* 16
+0
+* 17
+0
+* 20
+0
+* 99
+0
+* 100
+0
+* 101
+0
+* 1000
+0
+* 10000
+0
+* 1073741824
+0
+====
+==== 1
+* 2
+1
+* 3
+1
+* 4
+1
+* 5
+1
+* 6
+1
+* 7
+1
+* 8
+1
+* 9
+1
+* 10
+1
+* 16
+1
+* 17
+ 01
+* 20
+ 01
+* 99
+ 01
+* 100
+ 01
+* 101
+ 001
+* 1000
+ 001
+* 10000
+ 0001
+* 1073741824
+ 0000000001
+====
+==== 10
+* 2
+1010
+* 3
+101
+* 4
+22
+* 5
+20
+* 6
+14
+* 7
+13
+* 8
+12
+* 9
+11
+* 10
+10
+* 16
+A
+* 17
+ 10
+* 20
+ 10
+* 99
+ 10
+* 100
+ 10
+* 101
+ 010
+* 1000
+ 010
+* 10000
+ 0010
+* 1073741824
+ 0000000010
+====
+==== 100
+* 2
+1100100
+* 3
+10201
+* 4
+1210
+* 5
+400
+* 6
+244
+* 7
+202
+* 8
+144
+* 9
+121
+* 10
+100
+* 16
+64
+* 17
+ 05 15
+* 20
+ 05 00
+* 99
+ 01 01
+* 100
+ 01 00
+* 101
+ 100
+* 1000
+ 100
+* 10000
+ 0100
+* 1073741824
+ 0000000100
+====
+==== 1000
+* 2
+1111101000
+* 3
+1101001
+* 4
+33220
+* 5
+13000
+* 6
+4344
+* 7
+2626
+* 8
+1750
+* 9
+1331
+* 10
+1000
+* 16
+3E8
+* 17
+ 03 07 14
+* 20
+ 02 10 00
+* 99
+ 10 10
+* 100
+ 10 00
+* 101
+ 009 091
+* 1000
+ 001 000
+* 10000
+ 1000
+* 1073741824
+ 0000001000
+====
+==== 10000
+* 2
+10011100010000
+* 3
+111201101
+* 4
+2130100
+* 5
+310000
+* 6
+114144
+* 7
+41104
+* 8
+23420
+* 9
+14641
+* 10
+10000
+* 16
+2710
+* 17
+ 02 00 10 04
+* 20
+ 01 05 00 00
+* 99
+ 01 02 01
+* 100
+ 01 00 00
+* 101
+ 099 001
+* 1000
+ 010 000
+* 10000
+ 0001 0000
+* 1073741824
+ 0000010000
+====
+==== -1
+* 2
+-1
+* 3
+-1
+* 4
+-1
+* 5
+-1
+* 6
+-1
+* 7
+-1
+* 8
+-1
+* 9
+-1
+* 10
+-1
+* 16
+-1
+* 17
+- 01
+* 20
+- 01
+* 99
+- 01
+* 100
+- 01
+* 101
+- 001
+* 1000
+- 001
+* 10000
+- 0001
+* 1073741824
+- 0000000001
+====
+==== -10
+* 2
+-1010
+* 3
+-101
+* 4
+-22
+* 5
+-20
+* 6
+-14
+* 7
+-13
+* 8
+-12
+* 9
+-11
+* 10
+-10
+* 16
+-A
+* 17
+- 10
+* 20
+- 10
+* 99
+- 10
+* 100
+- 10
+* 101
+- 010
+* 1000
+- 010
+* 10000
+- 0010
+* 1073741824
+- 0000000010
+====
+==== -100
+* 2
+-1100100
+* 3
+-10201
+* 4
+-1210
+* 5
+-400
+* 6
+-244
+* 7
+-202
+* 8
+-144
+* 9
+-121
+* 10
+-100
+* 16
+-64
+* 17
+- 05 15
+* 20
+- 05 00
+* 99
+- 01 01
+* 100
+- 01 00
+* 101
+- 100
+* 1000
+- 100
+* 10000
+- 0100
+* 1073741824
+- 0000000100
+====
+==== -1000
+* 2
+-1111101000
+* 3
+-1101001
+* 4
+-33220
+* 5
+-13000
+* 6
+-4344
+* 7
+-2626
+* 8
+-1750
+* 9
+-1331
+* 10
+-1000
+* 16
+-3E8
+* 17
+- 03 07 14
+* 20
+- 02 10 00
+* 99
+- 10 10
+* 100
+- 10 00
+* 101
+- 009 091
+* 1000
+- 001 000
+* 10000
+- 1000
+* 1073741824
+- 0000001000
+====
+==== -10000
+* 2
+-10011100010000
+* 3
+-111201101
+* 4
+-2130100
+* 5
+-310000
+* 6
+-114144
+* 7
+-41104
+* 8
+-23420
+* 9
+-14641
+* 10
+-10000
+* 16
+-2710
+* 17
+- 02 00 10 04
+* 20
+- 01 05 00 00
+* 99
+- 01 02 01
+* 100
+- 01 00 00
+* 101
+- 099 001
+* 1000
+- 010 000
+* 10000
+- 0001 0000
+* 1073741824
+- 0000010000
+====
+==== 10.1
+* 2
+1010.0001
+* 3
+101.002
+* 4
+22.01
+* 5
+20.02
+* 6
+14.03
+* 7
+13.04
+* 8
+12.06
+* 9
+11.08
+* 10
+10.1
+* 16
+A.1
+* 17
+ 10.01
+* 20
+ 10.02
+* 99
+ 10.09
+* 100
+ 10.10
+* 101
+ 010.010
+* 1000
+ 010.100
+* 10000
+ 0010.1000
+* 1073741824
+ 0000000010.0107374182
+====
+==== 10.01
+* 2
+1010.0000001
+* 3
+101.00002
+* 4
+22.0002
+* 5
+20.001
+* 6
+14.002
+* 7
+13.003
+* 8
+12.005
+* 9
+11.007
+* 10
+10.01
+* 16
+A.02
+* 17
+ 10.00 02
+* 20
+ 10.00 04
+* 99
+ 10.00 98
+* 100
+ 10.01
+* 101
+ 010.001
+* 1000
+ 010.010
+* 10000
+ 0010.0100
+* 1073741824
+ 0000000010.0010737418
+====
+==== 10.10
+* 2
+1010.0001100
+* 3
+101.00220
+* 4
+22.0121
+* 5
+20.022
+* 6
+14.033
+* 7
+13.046
+* 8
+12.063
+* 9
+11.080
+* 10
+10.10
+* 16
+A.19
+* 17
+ 10.01 11
+* 20
+ 10.02 00
+* 99
+ 10.09 89
+* 100
+ 10.10
+* 101
+ 010.010
+* 1000
+ 010.100
+* 10000
+ 0010.1000
+* 1073741824
+ 0000000010.0107374182
+====
+==== 25
+* 2
+11001
+* 3
+221
+* 4
+121
+* 5
+100
+* 6
+41
+* 7
+34
+* 8
+31
+* 9
+27
+* 10
+25
+* 16
+19
+* 17
+ 01 08
+* 20
+ 01 05
+* 99
+ 25
+* 100
+ 25
+* 101
+ 025
+* 1000
+ 025
+* 10000
+ 0025
+* 1073741824
+ 0000000025
+====
+==== 125
+* 2
+1111101
+* 3
+11122
+* 4
+1331
+* 5
+1000
+* 6
+325
+* 7
+236
+* 8
+175
+* 9
+148
+* 10
+125
+* 16
+7D
+* 17
+ 07 06
+* 20
+ 06 05
+* 99
+ 01 26
+* 100
+ 01 25
+* 101
+ 001 024
+* 1000
+ 125
+* 10000
+ 0125
+* 1073741824
+ 0000000125
+====
+==== 487698214682427232279440601992780017544065697510462386668934912371912\
+715784447904420016522244007939748169262879283641183517590809217460015\
+16259259543195854037051.4
+* 2
+110111100000001010101101110101100001111000110010100101100101101001011\
+100111010101001111100111101101110000011011111001100001110110001001011\
+110100110011100000100010101000010011101010010110000010110111000111001\
+110111011001010000111100111010001101100100101011111110110001111000010\
+000100011000101110110111011100000101111110101111011011111110001001101\
+111001101100101111010001101010010010001101101010101000110011111011101\
+010111111100000000010101101010010110111100000100100000110101101111111\
+010110110101111101001011110011010111110000000111011.0110
+* 3
+210100210021002201102212211210200221001120001210110100020202210112000\
+201102221210112100100110102022200220112000112112020100110100211010012\
+020002002011222221202102021121002222210110200221201002201120200112102\
+201021001011120100100001221120201102010011010012022111011022120220221\
+0002101011100101101222221001210111202201020010012011200121012.101
+* 4
+313200022231311201320302211211221130322221330331232003133030032301023\
+310303200202220103222112002313013032323022013213101230211133312033002\
+010120232313130011332233123332021233031211322031102101231111012133131\
+113330000111222112330010200311233322312233221132122332000323.12
+* 5
+410043124331230204144440332223142410231001012203213242143101343100103\
+310001104100044334041202143413143301143204010214300014033343214012303\
+402443344304444110200344242024000041104213023334340041303432123414140\
+23313321210102113141201.20
+* 6
+224055345021243214453452131140322220255353130455153523531303313430403\
+140101220414411511005402141205525323341514151510523210123010542250052\
+542010130240334404231234101154500405252151354521431220304411243504135\
+.22
+* 7
+121344435264001126304313051542201562401316115020040342556555412505361\
+546012136553556625430265131421113256556400613541002521220022523662150\
+65025420463163461025615363135536263010464154023646454.25
+* 8
+674012556541706245455134725174755603371416611364634042502352260267071\
+673120747215445376617020430566734057657337611571545721522215525063735\
+2774002552267404406557726657513632760073.31
+* 9
+233232326427847208315017133066834606428534703133686264604752104107331\
+660621588523675328834208510815204726370345103018466421041052741385268\
+3071140341887053452636105150535.35
+* 10
+487698214682427232279440601992780017544065697510462386668934912371912\
+715784447904420016522244007939748169262879283641183517590809217460015\
+16259259543195854037051.4
+* 16
+3780AB75878CA596973AA7CF6E0DF30EC4BD33822A13A960B71CEECA1E746C95FD8F0\
+8462EDDC17EBDBF89BCD97A35246D5467DD5FC015A96F04835BFADAFA5E6BE03B.6
+* 17
+ 05 06 04 04 11 15 12 04 15 01 03 12 16 07 15 07 15 08 02 14 06 05 07\
+ 08 14 07 13 04 12 16 02 10 04 02 08 11 05 12 04 10 05 16 04 07 14 03\
+ 16 12 00 06 07 04 05 04 02 13 15 09 14 14 04 03 11 02 08 03 00 10 07\
+ 11 06 02 05 10 12 06 14 05 03 00 08 09 15 09 02 16 04 16 01 04 08 04\
+ 16 07 11 09 05 01 12 10 02 09 11 12 04 12 04 13 11 16 01 11 05 05 04\
+ 13 07 16 02 08 06 13 13 00 08 10 10 04 15 02 09.06
+* 20
+ 04 11 14 10 06 14 06 01 15 02 14 01 05 16 11 11 02 04 09 17 05 19 15\
+ 11 14 18 17 02 19 06 13 07 19 13 19 16 11 11 12 07 03 18 06 17 02 10\
+ 05 08 05 00 10 10 13 11 01 17 08 03 11 01 07 06 09 04 16 10 11 08 07\
+ 10 11 10 05 01 09 02 06 16 06 05 01 07 02 04 14 08 00 10 10 16 07 12\
+ 16 11 15 16 14 09 07 08 09 00 18 08 18 16 11 13 18 16 04 03 05 14 15\
+ 06 01 15 04 07 14 12 12 11.08
+* 99
+ 10 88 86 53 66 18 59 79 37 59 02 11 19 54 01 67 94 70 65 09 77 12 49\
+ 56 08 50 91 68 33 31 90 34 47 33 37 51 61 11 80 81 82 70 76 20 11 45\
+ 82 07 18 54 08 79 79 59 59 50 85 65 21 85 90 23 01 97 03 05 51 37 25\
+ 74 90 21 64 02 30 08 71 93 79 25 68.39
+* 100
+ 04 87 69 82 14 68 24 27 23 22 79 44 06 01 99 27 80 01 75 44 06 56 97\
+ 51 04 62 38 66 68 93 49 12 37 19 12 71 57 84 44 79 04 42 00 16 52 22\
+ 44 00 79 39 74 81 69 26 28 79 28 36 41 18 35 17 59 08 09 21 74 60 01\
+ 51 62 59 25 95 43 19 58 54 03 70 51.40
+* 101
+ 002 020 021 016 018 086 045 002 095 029 093 084 068 025 099 003 027 \
+043 030 061 025 061 041 049 030 058 090 002 084 086 030 005 035 046 0\
+87 086 064 013 015 092 069 018 081 024 081 053 087 024 036 002 085 03\
+3 092 002 043 025 093 058 047 098 001 046 049 099 036 035 092 084 015\
+ 013 027 065 050 058 008 018 044 099 066 013 016.040
+* 1000
+ 048 769 821 468 242 723 227 944 060 199 278 001 754 406 569 751 046 \
+238 666 893 491 237 191 271 578 444 790 442 001 652 224 400 793 974 8\
+16 926 287 928 364 118 351 759 080 921 746 001 516 259 259 543 195 85\
+4 037 051.400
+* 10000
+ 0004 8769 8214 6824 2723 2279 4406 0199 2780 0175 4406 5697 5104 623\
+8 6668 9349 1237 1912 7157 8444 7904 4200 1652 2244 0079 3974 8169 26\
+28 7928 3641 1835 1759 0809 2174 6001 5162 5925 9543 1958 5403 7051.4\
+000
+* 1073741824
+ 0014549677 0898075813 0631623337 1022812383 0205198068 0864168467 07\
+10421959 0250388967 0296900598 0252200494 0930111407 0469277645 06360\
+15761 0760506333 0401605994 0384845877 0803957737 0510386235.04294967\
+29
+====