equal
deleted
inserted
replaced
967 } |
967 } |
968 |
968 |
969 /**************/ |
969 /**************/ |
970 /* ABS */ |
970 /* ABS */ |
971 /**************/ |
971 /**************/ |
972 #define __abs_(TYPENAME) \ |
972 #define __abs_signed(TYPENAME) \ |
973 static inline TYPENAME __abs_##TYPENAME(EN_ENO_PARAMS, TYPENAME op){\ |
973 static inline TYPENAME __abs_##TYPENAME(EN_ENO_PARAMS, TYPENAME op){\ |
974 TEST_EN(TYPENAME)\ |
974 TEST_EN(TYPENAME)\ |
975 if (op < 0)\ |
975 if (op < 0)\ |
976 return -op;\ |
976 return -op;\ |
977 return op;\ |
977 return op;\ |
978 } |
978 } |
979 ANY_NUM(__abs_) |
979 ANY_REAL(__abs_signed) |
|
980 ANY_SINT(__abs_signed) |
|
981 |
|
982 #define __abs_unsigned(TYPENAME) \ |
|
983 static inline TYPENAME __abs_##TYPENAME(EN_ENO_PARAMS, TYPENAME op){\ |
|
984 TEST_EN(TYPENAME)\ |
|
985 return op;\ |
|
986 } |
|
987 ANY_UINT(__abs_unsigned) |
980 |
988 |
981 /**************/ |
989 /**************/ |
982 /* SQRT */ |
990 /* SQRT */ |
983 /**************/ |
991 /**************/ |
984 #define __sqrt_(TYPENAME) __numeric(__sqrt_, TYPENAME, sqrt) |
992 #define __sqrt_(TYPENAME) __numeric(__sqrt_, TYPENAME, sqrt) |