1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
function display(x,str, i,res) {
for (i = 0; i < n; i++) {
if ((res = sprintf(formats[i],x)) != str)
printf "sprintf(%s,%s) = %s (!= %s)\n",
formats[i],x,res,str
}
}
BEGIN {
nan = sqrt(-1)
nan_str = sprintf("%f",nan)
nnan_str = sprintf("%f",-nan)
inf = -log(0)
inf_str = sprintf("%f",inf)
n = 0
formats[n++] = "%f"
formats[n++] = "%s"
formats[n++] = "%g"
formats[n++] = "%x"
formats[n++] = "%d"
display(nan,nan_str)
display(-nan,nnan_str)
display(inf,inf)
display(-inf,"-"inf_str)
}
|