~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to test/fmtspcl.awk

Update README.solaris.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
function display(x, str,        i, res) {
 
1
function display(x,str,  i,res) {
2
2
        for (i = 0; i < n; i++) {
3
3
                if ((res = sprintf(formats[i],x)) != str)
4
4
                        printf "sprintf(%s,%s) = %s (!= %s)\n",
5
 
                               formats[i], x, res, str
 
5
                               formats[i],x,res,str
6
6
        }
7
7
}
8
8
 
9
9
BEGIN {
10
10
        nan = sqrt(-1)
11
 
        nan_str =  sprintf("%Pf", nan)
12
 
        nnan_str = sprintf("%Pf", -nan)
13
 
        if (nan_str == "nan")
14
 
                nan_str = "+" nan_str
15
 
        if (nnan_str == "nan")
16
 
                nnan_str = "+" nnan_str
 
11
        nan_str = sprintf("%f",nan)
 
12
        nnan_str = sprintf("%f",-nan)
17
13
        inf = -log(0)
18
 
        inf_str = "+" sprintf("%Pf", inf)
19
 
        ninf_str = sprintf("%Pf", -inf)
 
14
        inf_str = sprintf("%f",inf)
20
15
 
21
16
        n = 0
22
 
        formats[n++] = "%a"
23
 
        formats[n++] = "%e"
24
17
        formats[n++] = "%f"
 
18
        formats[n++] = "%s"
25
19
        formats[n++] = "%g"
26
20
        formats[n++] = "%x"
27
21
        formats[n++] = "%d"
28
 
        formats[n++] = "%s"
29
 
        display(nan, nan_str)
30
 
        display(-nan, nnan_str)
31
 
        display(inf, inf_str)
32
 
        display(-inf, ninf_str)
33
 
 
34
 
        # Now test uppercase floating-point format strings
35
 
        for (j = 0; j < n; j++)
36
 
                formats[j] = toupper(formats[j])
37
 
 
38
 
        n -= 3          # interger and string formats don't count (%x, %d, %s)
39
 
        nan_str = toupper(nan_str)
40
 
        nnan_str = toupper(nnan_str)
41
 
        inf_str = toupper(inf_str)
42
 
        ninf_str = toupper(ninf_str)
43
 
 
44
 
        display(nan, nan_str)
45
 
        display(-nan, nnan_str)
46
 
        display(inf, inf_str)
47
 
        display(-inf, ninf_str)
 
22
        display(nan,nan_str)
 
23
        display(-nan,nnan_str)
 
24
        display(inf,inf)
 
25
        display(-inf,"-"inf_str)
48
26
}