Blame test/fmtspcl.awk

Packit 575503
function display(x,str,  i,res) {
Packit 575503
	for (i = 0; i < n; i++) {
Packit 575503
		if ((res = sprintf(formats[i],x)) != str)
Packit 575503
			printf "sprintf(%s,%s) = %s (!= %s)\n",
Packit 575503
			       formats[i],x,res,str
Packit 575503
	}
Packit 575503
}
Packit 575503
Packit 575503
BEGIN {
Packit 575503
	nan = sqrt(-1)
Packit 575503
	nan_str = sprintf("%f",nan)
Packit 575503
	nnan_str = sprintf("%f",-nan)
Packit 575503
	inf = -log(0)
Packit 575503
	inf_str = sprintf("%f",inf)
Packit 575503
Packit 575503
	n = 0
Packit 575503
	formats[n++] = "%f"
Packit 575503
	formats[n++] = "%s"
Packit 575503
	formats[n++] = "%g"
Packit 575503
	formats[n++] = "%x"
Packit 575503
	formats[n++] = "%d"
Packit 575503
	display(nan,nan_str)
Packit 575503
	display(-nan,nnan_str)
Packit 575503
	display(inf,inf)
Packit 575503
	display(-inf,"-"inf_str)
Packit 575503
}