Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/Prelude/RealFloat_Float.hc

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


#include "newmacros.h"
#include "runtime.h"

#define FN_Prelude_46cFIsNeg	((void*)startLabel+8)
#define CT_v329	((void*)startLabel+24)
#define F0_Prelude_46cFIsNeg	((void*)startLabel+32)
#define FN_Prelude_46cFIsNormal	((void*)startLabel+44)
#define CT_v330	((void*)startLabel+60)
#define F0_Prelude_46cFIsNormal	((void*)startLabel+68)
#define FN_Prelude_46cFIsFinite	((void*)startLabel+80)
#define CT_v331	((void*)startLabel+96)
#define F0_Prelude_46cFIsFinite	((void*)startLabel+104)
#define FN_Prelude_46cFIsNaN	((void*)startLabel+116)
#define CT_v332	((void*)startLabel+132)
#define F0_Prelude_46cFIsNaN	((void*)startLabel+140)
#define CT_v333	((void*)startLabel+172)
#define CT_v334	((void*)startLabel+224)
#define CT_v335	((void*)startLabel+272)
#define CT_v336	((void*)startLabel+316)
#define CT_v337	((void*)startLabel+356)
#define CT_v338	((void*)startLabel+396)
#define CT_v339	((void*)startLabel+432)
#define CT_v340	((void*)startLabel+488)
#define CT_v341	((void*)startLabel+520)
#define CT_v342	((void*)startLabel+560)
#define CT_v343	((void*)startLabel+596)
#define CT_v344	((void*)startLabel+640)
#define CT_v345	((void*)startLabel+680)
#define CT_v346	((void*)startLabel+720)
#define CT_v347	((void*)startLabel+796)
void FR_Prelude_46cFIsNeg(void);
void FR_Prelude_46cFIsNormal(void);
void FR_Prelude_46cFIsFinite(void);
void FR_Prelude_46cFIsNaN(void);
extern Node FN_Prelude_46Eq_46Prelude_46Float_46_61_61[];
extern Node FN_Prelude_46_38_38[];
extern Node FN_Prelude_46not[];
extern Node FN_Prelude_46primEncodeFloat[];
extern Node FN_Prelude_46primDecodeFloat[];
extern Node FN_Prelude_46_95_46atan2[];
extern Node CF_Prelude_46RealFloat_46Prelude_46Float[];
extern Node FN_Prelude_46_95_46scaleFloat[];
extern Node FN_Prelude_46_95_46significand[];
extern Node FN_Prelude_46_95_46exponent[];
extern Node CF_Prelude_46RealFrac_46Prelude_46Float[];
extern Node CF_Prelude_46Floating_46Prelude_46Float[];

static Node startLabel[] = {
  bytes2word(1,0,0,1)
, useLabel(CT_v329)
,	/* FN_Prelude_46cFIsNeg: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cFIsNeg)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v329: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cFIsNeg: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cFIsNeg),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v330)
,	/* FN_Prelude_46cFIsNormal: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cFIsNormal)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v330: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cFIsNormal: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cFIsNormal),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v331)
,	/* FN_Prelude_46cFIsFinite: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cFIsFinite)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v331: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cFIsFinite: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cFIsFinite),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v332)
,	/* FN_Prelude_46cFIsNaN: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cFIsNaN)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v332: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cFIsNaN: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cFIsNaN),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v333)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46isIEEE[] = {
  bytes2word(ZAP_ARG_I1,NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_N1)
, bytes2word(1,RETURN,ENDCODE,0)
, bytes2word(0,0,0,0)
, 0
, CONSTR(1,0,0)
,	/* CT_v333: (byte 0) */
  HW(0,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46isIEEE[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46isIEEE),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v334)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46isNegativeZero[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_I4,HEAP_ARG,1,HEAP_CADR_N1)
, bytes2word(2,PUSH_HEAP,HEAP_CVAL_I5,HEAP_OFF_N1)
, bytes2word(6,HEAP_OFF_N1,5,RETURN_EVAL)
, bytes2word(ENDCODE,0,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, 0
,	/* CT_v334: (byte 0) */
  HW(3,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46isNegativeZero[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46isNegativeZero),1)
, VAPTAG(useLabel(FN_Prelude_46cFIsNeg))
, VAPTAG(useLabel(FN_Prelude_46Eq_46Prelude_46Float_46_61_61))
, VAPTAG(useLabel(FN_Prelude_46_38_38))
, bytes2word(1,0,0,1)
, useLabel(CT_v335)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46isDenormalized[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(PUSH_HEAP,HEAP_CVAL_I4,HEAP_OFF_N1,3)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v335: (byte 0) */
  HW(2,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46isDenormalized[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46isDenormalized),1)
, VAPTAG(useLabel(FN_Prelude_46cFIsNormal))
, VAPTAG(useLabel(FN_Prelude_46not))
, bytes2word(1,0,0,1)
, useLabel(CT_v336)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46isInfinite[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(PUSH_HEAP,HEAP_CVAL_I4,HEAP_OFF_N1,3)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v336: (byte 0) */
  HW(2,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46isInfinite[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46isInfinite),1)
, VAPTAG(useLabel(FN_Prelude_46cFIsFinite))
, VAPTAG(useLabel(FN_Prelude_46not))
, bytes2word(1,0,0,1)
, useLabel(CT_v337)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46isNaN[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_ARG)
, bytes2word(1,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v337: (byte 0) */
  HW(1,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46isNaN[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46isNaN),1)
, VAPTAG(useLabel(FN_Prelude_46cFIsNaN))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v338)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46encodeFloat[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_ARG_ARG_RET_EVAL)
, bytes2word(1,2,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v338: (byte 0) */
  HW(1,2)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46encodeFloat[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46encodeFloat),2)
, VAPTAG(useLabel(FN_Prelude_46primEncodeFloat))
, bytes2word(1,0,0,1)
, useLabel(CT_v339)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46decodeFloat[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_ARG)
, bytes2word(1,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v339: (byte 0) */
  HW(1,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46decodeFloat[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46decodeFloat),1)
, VAPTAG(useLabel(FN_Prelude_46primDecodeFloat))
, bytes2word(1,0,0,1)
, useLabel(CT_v340)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46floatRange[] = {
  bytes2word(ZAP_ARG_I1,NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_N1)
, bytes2word(1,HEAP_CADR_N1,3,HEAP_INT_P1)
, bytes2word(128,RETURN,ENDCODE,0)
, bytes2word(0,0,0,0)
, 0
, CONSTRW(1,0)
, -148
, CONSTR(0,2,0)
,	/* CT_v340: (byte 0) */
  HW(0,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46floatRange[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46floatRange),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v341)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46floatDigits[] = {
  bytes2word(ZAP_ARG_I1,NEEDSTACK_I16,PUSH_INT_P1,24)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v341: (byte 0) */
  HW(0,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46floatDigits[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46floatDigits),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v342)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46floatRadix[] = {
  bytes2word(ZAP_ARG_I1,NEEDSTACK_I16,PUSH_CADR_N1,2)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, 2
,	/* CT_v342: (byte 0) */
  HW(0,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46floatRadix[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46floatRadix),1)
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v343)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46atan2[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_CVAL_I4)
, bytes2word(HEAP_ARG_ARG_RET_EVAL,1,2,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v343: (byte 0) */
  HW(2,2)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46atan2[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46atan2),2)
, VAPTAG(useLabel(FN_Prelude_46_95_46atan2))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Float)
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v344)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46scaleFloat[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_CVAL_I4)
, bytes2word(HEAP_ARG_ARG_RET_EVAL,1,2,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v344: (byte 0) */
  HW(2,2)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46scaleFloat[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46scaleFloat),2)
, VAPTAG(useLabel(FN_Prelude_46_95_46scaleFloat))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Float)
, bytes2word(1,0,0,1)
, useLabel(CT_v345)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46significand[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_CVAL_I4)
, bytes2word(HEAP_ARG,1,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v345: (byte 0) */
  HW(2,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46significand[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46significand),1)
, VAPTAG(useLabel(FN_Prelude_46_95_46significand))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Float)
, bytes2word(1,0,0,1)
, useLabel(CT_v346)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float_46exponent[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_CVAL_I4)
, bytes2word(HEAP_ARG,1,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v346: (byte 0) */
  HW(2,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Float_46exponent[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float_46exponent),1)
, VAPTAG(useLabel(FN_Prelude_46_95_46exponent))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Float)
, bytes2word(0,0,0,0)
, useLabel(CT_v347)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Float[] = {
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_N1,1)
, bytes2word(HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_CVAL_I5,HEAP_CVAL_P1)
, bytes2word(6,HEAP_CVAL_P1,7,HEAP_CVAL_P1)
, bytes2word(8,HEAP_CVAL_P1,9,HEAP_CVAL_P1)
, bytes2word(10,HEAP_CVAL_P1,11,HEAP_CVAL_P1)
, bytes2word(12,HEAP_CVAL_P1,13,HEAP_CVAL_P1)
, bytes2word(14,HEAP_CVAL_P1,15,HEAP_CVAL_P1)
, bytes2word(16,HEAP_CVAL_P1,17,HEAP_CVAL_P1)
, bytes2word(18,RETURN,ENDCODE,0)
, bytes2word(0,0,0,0)
, 0
, CONSTR(0,16,0)
,	/* CT_v347: (byte 0) */
  HW(16,0)
, 0
,};
Node CF_Prelude_46RealFloat_46Prelude_46Float[] = {
  VAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Float))
, useLabel(CF_Prelude_46RealFrac_46Prelude_46Float)
, useLabel(CF_Prelude_46Floating_46Prelude_46Float)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46atan2)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46isIEEE)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46isNaN)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46isDenormalized)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46significand)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46floatRange)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46isInfinite)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46isNegativeZero)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46floatDigits)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46decodeFloat)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46encodeFloat)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46scaleFloat)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46exponent)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Float_46floatRadix)
,};

#include <haskell2c.h>
#include <HsFFI.h>

/* foreign import ccall "math.h signbit" Prelude.cFIsNeg 1 :: Prelude.Float -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cFIsNeg = {"Prelude","Prelude.cFIsNeg","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cFIsNeg) {
  NodePtr nodeptr;
  HsBool result;
  float arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (float)get_float_value(nodeptr);

  result = signbit(arg1);

  nodeptr = nhc_mkBool(result);
  INIT_PROFINFO(nodeptr,&pf_Prelude_46cFIsNeg);
  C_RETURN(nodeptr);
}

/* foreign import ccall "math.h isnormal" Prelude.cFIsNormal 1 :: Prelude.Float -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cFIsNormal = {"Prelude","Prelude.cFIsNormal","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cFIsNormal) {
  NodePtr nodeptr;
  HsBool result;
  float arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (float)get_float_value(nodeptr);

  result = isnormal(arg1);

  nodeptr = nhc_mkBool(result);
  INIT_PROFINFO(nodeptr,&pf_Prelude_46cFIsNormal);
  C_RETURN(nodeptr);
}

/* foreign import ccall "math.h isfinite" Prelude.cFIsFinite 1 :: Prelude.Float -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cFIsFinite = {"Prelude","Prelude.cFIsFinite","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cFIsFinite) {
  NodePtr nodeptr;
  HsBool result;
  float arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (float)get_float_value(nodeptr);

  result = isfinite(arg1);

  nodeptr = nhc_mkBool(result);
  INIT_PROFINFO(nodeptr,&pf_Prelude_46cFIsFinite);
  C_RETURN(nodeptr);
}

/* foreign import ccall "math.h isnan" Prelude.cFIsNaN 1 :: Prelude.Float -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cFIsNaN = {"Prelude","Prelude.cFIsNaN","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cFIsNaN) {
  NodePtr nodeptr;
  HsBool result;
  float arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (float)get_float_value(nodeptr);

  result = isnan(arg1);

  nodeptr = nhc_mkBool(result);
  INIT_PROFINFO(nodeptr,&pf_Prelude_46cFIsNaN);
  C_RETURN(nodeptr);
}

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].