aboutsummaryrefslogtreecommitdiffstats
path: root/test/fmtspcl.awk
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 14:49:57 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 14:49:57 +0300
commit6a2caf2157d87b4b582b2494bdd7d6a688dd0b1f (patch)
tree9a2862cc11be4832f188cfbdce175120ceba5024 /test/fmtspcl.awk
parent315bd501ca696bc3e3c938b4604d8dac7a6f512f (diff)
downloadegawk-6a2caf2157d87b4b582b2494bdd7d6a688dd0b1f.tar.gz
egawk-6a2caf2157d87b4b582b2494bdd7d6a688dd0b1f.tar.bz2
egawk-6a2caf2157d87b4b582b2494bdd7d6a688dd0b1f.zip
Move to gawk-3.1.6.
Diffstat (limited to 'test/fmtspcl.awk')
-rw-r--r--test/fmtspcl.awk26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/fmtspcl.awk b/test/fmtspcl.awk
new file mode 100644
index 00000000..6f037a3a
--- /dev/null
+++ b/test/fmtspcl.awk
@@ -0,0 +1,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)
+}