#include "haskell2c.h" #ifdef PROFILE static SInfo nodeProfInfo = { "Builtin","Builtin.primEncodeDouble","Prelude.Double"}; #endif C_HEADER(primEncodeDouble) { int exp; double d; NodePtr nodeptr; C_CHECK(SIZE_DOUBLE); nodeptr = C_GETARG1(2); IND_REMOVE(nodeptr); exp = GET_INT_VALUE(nodeptr); nodeptr = C_GETARG1(1); IND_REMOVE(nodeptr); d = dencode((MP_INT *)nodeptr,exp); nodeptr = C_ALLOC(SIZE_DOUBLE); mk_double(nodeptr,d); INIT_PROFINFO(nodeptr,&nodeProfInfo) C_RETURN(nodeptr); } double primEncodeDoubleC (NodePtr mantissa, int exp) { return dencode((MP_INT *)mantissa,exp); }