summaryrefslogtreecommitdiff
path: root/tests/general/tprintf.icn
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2013-01-28 19:02:21 +0000
committerIgor Pashev <pashev.igor@gmail.com>2013-01-28 19:02:21 +0000
commitd78e6c19ff93964183950f846868ade625e6b537 (patch)
treef2d588a9646c8496db23d3fe868d7dce4f7dfa83 /tests/general/tprintf.icn
parentf944578414d5adc0c6c3fb22ad5808077444a410 (diff)
parentf627f77f23d1497c9e1f4269b5c8812d12b42f18 (diff)
downloadicon-d78e6c19ff93964183950f846868ade625e6b537.tar.gz
Merge tag 'upstream/9.5.0'
Upstream version 9.5.0
Diffstat (limited to 'tests/general/tprintf.icn')
-rw-r--r--tests/general/tprintf.icn22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/general/tprintf.icn b/tests/general/tprintf.icn
new file mode 100644
index 0000000..2ea8eb3
--- /dev/null
+++ b/tests/general/tprintf.icn
@@ -0,0 +1,22 @@
+# test the library printf procedure
+#
+# also incidentally tests large integers, real arithmetic, etc.
+
+link printf
+
+procedure main()
+ local v, vlist
+
+ vlist := [ -16r80000000, -16r7FFFFFFF, -16r40000000, -16r3FFFFFFF,
+ -16r10000, -16RFFFF, -20104, -719, -2, -1, 0, 1, 2, 7, 15, 47, 11213,
+ 16rFFFF, 16r10000, 16r7FFFFFFF, 16r80000000, 16rFFFFFFFF, 16r100000000,
+ 0.125, &phi, &e, &pi, "4.56789", 16.0, 1024.0, 65536.0, 5e12, 6.02e23 ]
+
+ every v := !vlist | realseq() | -realseq() do
+ printf("%16s %15.3r %10.3e %11d %12o %9x\n", v, v, v, v, v, v)
+end
+
+procedure realseq()
+ suspend 0.0
+ suspend 10.0 ^ (-12 to 30) * (1.0 | 13./9 | 3./2 | 5./2. | 14./9 )
+end