Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/runtime/Builtin/primEncodeDouble.c

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.



#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);
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].