Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/runtime/Builtin/primEncodeFloat.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.primEncodeFloat","Prelude.Float"};
#endif

C_HEADER(primEncodeFloat)
{
  int exp;
  float f;
  NodePtr nodeptr;
  C_CHECK(SIZE_FLOAT);
  nodeptr = C_GETARG1(2);
  IND_REMOVE(nodeptr);
  exp = GET_INT_VALUE(nodeptr);
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  f = sencode((MP_INT *)nodeptr,exp);
  nodeptr = C_ALLOC(SIZE_FLOAT);
  mk_float(nodeptr,f);
  INIT_PROFINFO(nodeptr,&nodeProfInfo)
  C_RETURN(nodeptr);
}

float primEncodeFloatC (NodePtr mantissa, int exp)
{
  return sencode((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].