Lines Matching refs:VAR
175 #define TCU_SET_INTERVAL_BOUNDS(DST, VAR, SETLOW, SETHIGH) do \ argument
177 ::tcu::ScopedRoundingMode VAR##_ctx_; \
178 ::tcu::Interval& VAR##_dst_ = (DST); \
179 ::tcu::Interval VAR##_lo_; \
180 ::tcu::Interval VAR##_hi_; \
183 ::tcu::Interval& (VAR) = VAR##_lo_; \
188 ::tcu::Interval& (VAR) = VAR##_hi_; \
193 VAR##_dst_ = VAR##_lo_ | VAR##_hi_; \
196 #define TCU_SET_INTERVAL(DST, VAR, BODY) \ argument
197 TCU_SET_INTERVAL_BOUNDS(DST, VAR, BODY, BODY)
204 #define TCU_INTERVAL_APPLY_MONOTONE1(DST, PARAM, ARG, VAR, BODY) do \ argument
206 const ::tcu::Interval& VAR##_arg_ = (ARG); \
207 ::tcu::Interval& VAR##_dst_ = (DST); \
208 ::tcu::Interval VAR##_lo_; \
209 ::tcu::Interval VAR##_hi_; \
210 if (VAR##_arg_.empty()) \
211 VAR##_dst_ = Interval(); \
215 const double (PARAM) = VAR##_arg_.lo(); \
216 ::tcu::Interval& (VAR) = VAR##_lo_; \
220 const double (PARAM) = VAR##_arg_.hi(); \
221 ::tcu::Interval& (VAR) = VAR##_hi_; \
224 VAR##_dst_ = VAR##_lo_ | VAR##_hi_; \
226 if (VAR##_arg_.hasNaN()) \
227 VAR##_dst_ |= TCU_NAN; \
230 #define TCU_INTERVAL_APPLY_MONOTONE2(DST, P0, A0, P1, A1, VAR, BODY) \ argument
233 TCU_INTERVAL_APPLY_MONOTONE1(tmp2_, P1, A1, VAR, BODY))
235 #define TCU_INTERVAL_APPLY_MONOTONE3(DST, P0, A0, P1, A1, P2, A2, VAR, BODY) \ argument
238 TCU_INTERVAL_APPLY_MONOTONE2(tmp3_, P1, A1, P2, A2, VAR, BODY))