1 /* { dg-do compile } */
2 /* { dg-options "-std=gnu99" } */
4 /* N1169 7.18a.3 - Precision macros.
6 Check if defined fixed-point constants are ok. */
10 short fract sf
= SFRACT_MAX
;
12 long fract lf
= LFRACT_MAX
;
13 long long fract llf
= LLFRACT_MAX
;
15 unsigned short fract usf
= USFRACT_MAX
;
16 unsigned fract uf
= UFRACT_MAX
;
17 unsigned long fract ulf
= ULFRACT_MAX
;
18 unsigned long long fract ullf
= ULLFRACT_MAX
;
20 sat
short fract Ssf
= SFRACT_MAX
;
21 sat fract Sf
= FRACT_MAX
;
22 sat
long fract Slf
= LFRACT_MAX
;
23 sat
long long fract Sllf
= LLFRACT_MAX
;
25 sat
unsigned short fract Susf
= USFRACT_MAX
;
26 sat
unsigned fract Suf
= UFRACT_MAX
;
27 sat
unsigned long fract Sulf
= ULFRACT_MAX
;
28 sat
unsigned long long fract Sullf
= ULLFRACT_MAX
;
30 short fract sfm
= SFRACT_MIN
;
32 long fract lfm
= LFRACT_MIN
;
33 long long fract llfm
= LLFRACT_MIN
;
35 unsigned short fract usfm
= USFRACT_MIN
;
36 unsigned fract ufm
= UFRACT_MIN
;
37 unsigned long fract ulfm
= ULFRACT_MIN
;
38 unsigned long long fract ullfm
= ULLFRACT_MIN
;
40 sat
short fract Ssfm
= SFRACT_MIN
;
41 sat fract Sfm
= FRACT_MIN
;
42 sat
long fract Slfm
= LFRACT_MIN
;
43 sat
long long fract Sllfm
= LLFRACT_MIN
;
45 sat
unsigned short fract Susfm
= USFRACT_MIN
;
46 sat
unsigned fract Sufm
= UFRACT_MIN
;
47 sat
unsigned long fract Sulfm
= ULFRACT_MIN
;
48 sat
unsigned long long fract Sullfm
= ULLFRACT_MIN
;
50 short fract sfE
= SFRACT_EPSILON
;
51 fract fE
= FRACT_EPSILON
;
52 long fract lfE
= LFRACT_EPSILON
;
53 long long fract llfE
= LLFRACT_EPSILON
;
55 unsigned short fract usfE
= USFRACT_EPSILON
;
56 unsigned fract ufE
= UFRACT_EPSILON
;
57 unsigned long fract ulfE
= ULFRACT_EPSILON
;
58 unsigned long long fract ullfE
= ULLFRACT_EPSILON
;
60 sat
short fract SsfE
= SFRACT_EPSILON
;
61 sat fract SfE
= FRACT_EPSILON
;
62 sat
long fract SlfE
= LFRACT_EPSILON
;
63 sat
long long fract SllfE
= LLFRACT_EPSILON
;
65 sat
unsigned short fract SusfE
= USFRACT_EPSILON
;
66 sat
unsigned fract SufE
= UFRACT_EPSILON
;
67 sat
unsigned long fract SulfE
= ULFRACT_EPSILON
;
68 sat
unsigned long long fract SullfE
= ULLFRACT_EPSILON
;
70 short accum sk
= SACCUM_MAX
;
72 long accum lk
= LACCUM_MAX
;
73 long long accum llk
= LLACCUM_MAX
;
75 unsigned short accum usk
= USACCUM_MAX
;
76 unsigned accum uk
= UACCUM_MAX
;
77 unsigned long accum ulk
= ULACCUM_MAX
;
78 unsigned long long accum ullk
= ULLACCUM_MAX
;
80 sat
short accum Ssk
= SACCUM_MAX
;
81 sat accum Sk
= ACCUM_MAX
;
82 sat
long accum Slk
= LACCUM_MAX
;
83 sat
long long accum Sllk
= LLACCUM_MAX
;
85 sat
unsigned short accum Susk
= USACCUM_MAX
;
86 sat
unsigned accum Suk
= UACCUM_MAX
;
87 sat
unsigned long accum Sulk
= ULACCUM_MAX
;
88 sat
unsigned long long accum Sullk
= ULLACCUM_MAX
;
90 short accum skm
= SACCUM_MIN
;
92 long accum lkm
= LACCUM_MIN
;
93 long long accum llkm
= LLACCUM_MIN
;
95 unsigned short accum uskm
= USACCUM_MIN
;
96 unsigned accum ukm
= UACCUM_MIN
;
97 unsigned long accum ulkm
= ULACCUM_MIN
;
98 unsigned long long accum ullkm
= ULLACCUM_MIN
;
100 sat
short accum Sskm
= SACCUM_MIN
;
101 sat accum Skm
= ACCUM_MIN
;
102 sat
long accum Slkm
= LACCUM_MIN
;
103 sat
long long accum Sllkm
= LLACCUM_MIN
;
105 sat
unsigned short accum Suskm
= USACCUM_MIN
;
106 sat
unsigned accum Sukm
= UACCUM_MIN
;
107 sat
unsigned long accum Sulkm
= ULACCUM_MIN
;
108 sat
unsigned long long accum Sullkm
= ULLACCUM_MIN
;
110 short accum skE
= SACCUM_EPSILON
;
111 accum kE
= ACCUM_EPSILON
;
112 long accum lkE
= LACCUM_EPSILON
;
113 long long accum llkE
= LLACCUM_EPSILON
;
115 unsigned short accum uskE
= USACCUM_EPSILON
;
116 unsigned accum ukE
= UACCUM_EPSILON
;
117 unsigned long accum ulkE
= ULACCUM_EPSILON
;
118 unsigned long long accum ullkE
= ULLACCUM_EPSILON
;
120 sat
short accum SskE
= SACCUM_EPSILON
;
121 sat accum SkE
= ACCUM_EPSILON
;
122 sat
long accum SlkE
= LACCUM_EPSILON
;
123 sat
long long accum SllkE
= LLACCUM_EPSILON
;
125 sat
unsigned short accum SuskE
= USACCUM_EPSILON
;
126 sat
unsigned accum SukE
= UACCUM_EPSILON
;
127 sat
unsigned long accum SulkE
= ULACCUM_EPSILON
;
128 sat
unsigned long long accum SullkE
= ULLACCUM_EPSILON
;
130 int fbit_sf
= SFRACT_FBIT
;
131 int fbit_f
= FRACT_FBIT
;
132 int fbit_lf
= LFRACT_FBIT
;
133 int fbit_llf
= LLFRACT_FBIT
;
135 int fbit_usf
= USFRACT_FBIT
;
136 int fbit_uf
= UFRACT_FBIT
;
137 int fbit_ulf
= ULFRACT_FBIT
;
138 int fbit_ullf
= ULLFRACT_FBIT
;
140 int fbit_sk
= SACCUM_FBIT
;
141 int fbit_k
= ACCUM_FBIT
;
142 int fbit_lk
= LACCUM_FBIT
;
143 int fbit_llk
= LLACCUM_FBIT
;
145 int fbit_usk
= USACCUM_FBIT
;
146 int fbit_uk
= UACCUM_FBIT
;
147 int fbit_ulk
= ULACCUM_FBIT
;
148 int fbit_ullk
= ULLACCUM_FBIT
;
150 int ibit_sk
= SACCUM_IBIT
;
151 int ibit_k
= ACCUM_IBIT
;
152 int ibit_lk
= LACCUM_IBIT
;
153 int ibit_llk
= LLACCUM_IBIT
;
155 int ibit_usk
= USACCUM_IBIT
;
156 int ibit_uk
= UACCUM_IBIT
;
157 int ibit_ulk
= ULACCUM_IBIT
;
158 int ibit_ullk
= ULLACCUM_IBIT
;