include cstdint type

add mulh like function for gcc

avoid multiple definitions of msvc intrinsic replacements