File: tprintf.icn

package info (click to toggle)
icon 9.5.25a-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,624 kB
  • sloc: ansic: 28,692; cpp: 5,650; yacc: 926; makefile: 882; lisp: 873; sh: 319; sed: 13; php: 1
file content (22 lines) | stat: -rw-r--r-- 690 bytes parent folder | download | duplicates (2)
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