added macros to switch between gmp and other data types