summaryrefslogtreecommitdiff
path: root/tests/general/tprintf.icn
blob: 2ea8eb34782d74a2ff878609e9059bdc4bb41fb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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