1 !pr 12839- F2003 formatting of Inf /Nan
6 real zero, pos_inf, neg_inf, nan
9 ! need a better way of generating these floating point
10 ! exceptional constants.
16 ! check a field width = 0
18 write(l,fmt=fmt)pos_inf
19 if (l.ne.'Inf') call abort
20 write(l,fmt=fmt)neg_inf
21 if (l.ne.'-Inf') call abort
23 if (l.ne.'NaN') call abort
25 ! check a field width < 3
27 write(l,fmt=fmt)pos_inf
28 if (l.ne.'**') call abort
29 write(l,fmt=fmt)neg_inf
30 if (l.ne.'**') call abort
32 if (l.ne.'**') call abort
34 ! check a field width = 3
36 write(l,fmt=fmt)pos_inf
37 if (l.ne.'Inf') call abort
38 write(l,fmt=fmt)neg_inf
39 if (l.ne.'***') call abort
41 if (l.ne.'NaN') call abort
43 ! check a field width > 3
45 write(l,fmt=fmt)pos_inf
46 if (l.ne.' Inf') call abort
47 write(l,fmt=fmt)neg_inf
48 if (l.ne.'-Inf') call abort
50 if (l.ne.' NaN') call abort
52 ! check a field width = 7
54 write(l,fmt=fmt)pos_inf
55 if (l.ne.' Inf') call abort
56 write(l,fmt=fmt)neg_inf
57 if (l.ne.' -Inf') call abort
59 if (l.ne.' NaN') call abort
61 ! check a field width = 8
63 write(l,fmt=fmt)pos_inf
64 if (l.ne.'Infinity') call abort
65 write(l,fmt=fmt)neg_inf
66 if (l.ne.' -Inf') call abort
68 if (l.ne.' NaN') call abort
70 ! check a field width = 9
72 write(l,fmt=fmt)pos_inf
73 if (l.ne.' Infinity') call abort
74 write(l,fmt=fmt)neg_inf
75 if (l.ne.'-Infinity') call abort
77 if (l.ne.' NaN') call abort
79 ! check a field width = 14
81 write(l,fmt=fmt)pos_inf
82 if (l.ne.' Infinity') call abort
83 write(l,fmt=fmt)neg_inf
84 if (l.ne.' -Infinity') call abort
86 if (l.ne.' NaN') call abort