first-cut port to gmp
added macros to switch between gmp and other data types
switching to gmp datatype