78 #define __ANY_INT_1(DO,P1) __ANY_SINT_1(DO,P1) __ANY_UINT_1(DO,P1) |
78 #define __ANY_INT_1(DO,P1) __ANY_SINT_1(DO,P1) __ANY_UINT_1(DO,P1) |
79 #define __ANY_SINT_1(DO,P1) DO(sint,P1) DO(int,P1) DO(dint,P1) DO(lint,P1) |
79 #define __ANY_SINT_1(DO,P1) DO(sint,P1) DO(int,P1) DO(dint,P1) DO(lint,P1) |
80 #define __ANY_UINT_1(DO,P1) DO(usint,P1) DO(uint,P1) DO(udint,P1) DO(ulint,P1) |
80 #define __ANY_UINT_1(DO,P1) DO(usint,P1) DO(uint,P1) DO(udint,P1) DO(ulint,P1) |
81 |
81 |
82 |
82 |
83 |
83 /**************************************************************/ |
84 |
84 /**************************************************************/ |
85 /* |
85 /**************************************************************/ |
86 * 2.5.1.5.6 Functions of time data types |
86 /******* TABLE 24: Standard arithmetic functions *******/ |
87 * Table 30 - page 64 |
87 /******* merged with *******/ |
88 */ |
88 /******* TABLE 30: Functions of time data types *******/ |
|
89 /**************************************************************/ |
|
90 /**************************************************************/ |
|
91 /**************************************************************/ |
|
92 |
89 |
93 |
90 const struct widen_entry widen_ADD_table[] = { |
94 const struct widen_entry widen_ADD_table[] = { |
91 #define __add(TYPE) \ |
95 #define __add(TYPE) \ |
92 { &search_constant_type_c::TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, widen_entry::ok }, \ |
96 { &search_constant_type_c::TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, widen_entry::ok }, \ |
93 { &search_constant_type_c::safe##TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, widen_entry::ok }, \ |
97 { &search_constant_type_c::safe##TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, &search_constant_type_c::TYPE##_type_name, widen_entry::ok }, \ |
294 }; |
298 }; |
295 |
299 |
296 |
300 |
297 |
301 |
298 |
302 |
|
303 const struct widen_entry widen_EXPT_table[] = { |
|
304 #define __expt(IN2TYPE, IN1TYPE) \ |
|
305 { &search_constant_type_c::IN1TYPE##_type_name, &search_constant_type_c::IN2TYPE##_type_name, &search_constant_type_c::IN1TYPE##_type_name, widen_entry::ok }, \ |
|
306 { &search_constant_type_c::safe##IN1TYPE##_type_name, &search_constant_type_c::IN2TYPE##_type_name, &search_constant_type_c::IN1TYPE##_type_name, widen_entry::ok }, \ |
|
307 { &search_constant_type_c::IN1TYPE##_type_name, &search_constant_type_c::safe##IN2TYPE##_type_name, &search_constant_type_c::IN1TYPE##_type_name, widen_entry::ok }, \ |
|
308 { &search_constant_type_c::safe##IN1TYPE##_type_name, &search_constant_type_c::safe##IN2TYPE##_type_name, &search_constant_type_c::safe##IN1TYPE##_type_name, widen_entry::ok }, |
|
309 #define __IN2_anynum_(IN1_TYPENAME) __ANY_NUM_1(__expt,IN1_TYPENAME) |
|
310 __ANY_REAL(__IN2_anynum_) |
|
311 #undef __expt |
|
312 #undef __IN2_anynum_ |
|
313 { NULL, NULL, NULL, widen_entry::ok }, |
|
314 }; |
|
315 |
|
316 |
|
317 |
299 /**************************************************************/ |
318 /**************************************************************/ |
300 /**************************************************************/ |
319 /**************************************************************/ |
301 /**************************************************************/ |
320 /**************************************************************/ |
302 /******* *******/ |
321 /******* *******/ |
303 /******* TABLE 26: Standard bitwise Boolean functions *******/ |
322 /******* TABLE 26: Standard bitwise Boolean functions *******/ |