stage3/datatype_functions.cc
changeset 490 29f6ab0bf954
parent 484 f78750994a82
child 517 889f4e577964
equal deleted inserted replaced
489:2c874cccbb44 490:29f6ab0bf954
    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  *******/