Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/Prelude/RealFloat_Double.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_46cDIsNeg	((void*)startLabel+8)
#define CT_v329	((void*)startLabel+24)
#define F0_Prelude_46cDIsNeg	((void*)startLabel+32)
#define FN_Prelude_46cDIsNormal	((void*)startLabel+44)
#define CT_v330	((void*)startLabel+60)
#define F0_Prelude_46cDIsNormal	((void*)startLabel+68)
#define FN_Prelude_46cDIsFinite	((void*)startLabel+80)
#define CT_v331	((void*)startLabel+96)
#define F0_Prelude_46cDIsFinite	((void*)startLabel+104)
#define FN_Prelude_46cDIsNaN	((void*)startLabel+116)
#define CT_v332	((void*)startLabel+132)
#define F0_Prelude_46cDIsNaN	((void*)startLabel+140)
#define CT_v333	((void*)startLabel+172)
#define CT_v334	((void*)startLabel+232)
#define CT_v335	((void*)startLabel+280)
#define CT_v336	((void*)startLabel+324)
#define CT_v337	((void*)startLabel+364)
#define CT_v338	((void*)startLabel+404)
#define CT_v339	((void*)startLabel+440)
#define CT_v340	((void*)startLabel+504)
#define CT_v341	((void*)startLabel+536)
#define CT_v342	((void*)startLabel+576)
#define CT_v343	((void*)startLabel+612)
#define CT_v344	((void*)startLabel+656)
#define CT_v345	((void*)startLabel+696)
#define CT_v346	((void*)startLabel+736)
#define CT_v347	((void*)startLabel+812)
void FR_Prelude_46cDIsNeg(void);
void FR_Prelude_46cDIsNormal(void);
void FR_Prelude_46cDIsFinite(void);
void FR_Prelude_46cDIsNaN(void);
extern Node FN_Prelude_46Eq_46Prelude_46Double_46_61_61[];
extern Node FN_Prelude_46_38_38[];
extern Node FN_Prelude_46not[];
extern Node FN_Prelude_46primEncodeDouble[];
extern Node FN_Prelude_46primDecodeDouble[];
extern Node FN_Prelude_46_95_46atan2[];
extern Node CF_Prelude_46RealFloat_46Prelude_46Double[];
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_46Double[];
extern Node CF_Prelude_46Floating_46Prelude_46Double[];

static Node startLabel[] = {
  bytes2word(1,0,0,1)
, useLabel(CT_v329)
,	/* FN_Prelude_46cDIsNeg: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cDIsNeg)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v329: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cDIsNeg: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cDIsNeg),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v330)
,	/* FN_Prelude_46cDIsNormal: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cDIsNormal)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v330: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cDIsNormal: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cDIsNormal),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v331)
,	/* FN_Prelude_46cDIsFinite: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cDIsFinite)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v331: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cDIsFinite: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cDIsFinite),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v332)
,	/* FN_Prelude_46cDIsNaN: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PRIMITIVE)
, useLabel(FR_Prelude_46cDIsNaN)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v332: (byte 0) */
  HW(0,1)
, 0
,	/* F0_Prelude_46cDIsNaN: (byte 0) */
  CAPTAG(useLabel(FN_Prelude_46cDIsNaN),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v333)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46isIEEE[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46isIEEE),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v334)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_46isNegativeZero[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_I4,HEAP_ARG,1,HEAP_CADR_N1)
, bytes2word(3,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)
, 0
, CONSTRW(2,0)
, 0
, 0
,	/* CT_v334: (byte 0) */
  HW(3,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Double_46isNegativeZero[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46isNegativeZero),1)
, VAPTAG(useLabel(FN_Prelude_46cDIsNeg))
, VAPTAG(useLabel(FN_Prelude_46Eq_46Prelude_46Double_46_61_61))
, VAPTAG(useLabel(FN_Prelude_46_38_38))
, bytes2word(1,0,0,1)
, useLabel(CT_v335)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46isDenormalized[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46isDenormalized),1)
, VAPTAG(useLabel(FN_Prelude_46cDIsNormal))
, VAPTAG(useLabel(FN_Prelude_46not))
, bytes2word(1,0,0,1)
, useLabel(CT_v336)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46isInfinite[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46isInfinite),1)
, VAPTAG(useLabel(FN_Prelude_46cDIsFinite))
, VAPTAG(useLabel(FN_Prelude_46not))
, bytes2word(1,0,0,1)
, useLabel(CT_v337)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46isNaN[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46isNaN),1)
, VAPTAG(useLabel(FN_Prelude_46cDIsNaN))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v338)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46encodeFloat[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46encodeFloat),2)
, VAPTAG(useLabel(FN_Prelude_46primEncodeDouble))
, bytes2word(1,0,0,1)
, useLabel(CT_v339)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46decodeFloat[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46decodeFloat),1)
, VAPTAG(useLabel(FN_Prelude_46primDecodeDouble))
, bytes2word(1,0,0,1)
, useLabel(CT_v340)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_46floatRange[] = {
  bytes2word(ZAP_ARG_I1,NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_N1)
, bytes2word(1,HEAP_CADR_N1,3,HEAP_CADR_N1)
, bytes2word(5,RETURN,ENDCODE,0)
, bytes2word(0,0,0,0)
, 0
, CONSTRW(1,0)
, 1024
, CONSTRW(1,0)
, -1073
, CONSTR(0,2,0)
,	/* CT_v340: (byte 0) */
  HW(0,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Double_46floatRange[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46floatRange),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v341)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_46floatDigits[] = {
  bytes2word(ZAP_ARG_I1,NEEDSTACK_I16,PUSH_INT_P1,53)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v341: (byte 0) */
  HW(0,1)
, 0
,};
Node F0_Prelude_46RealFloat_46Prelude_46Double_46floatDigits[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46floatDigits),1)
, bytes2word(1,0,0,1)
, useLabel(CT_v342)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46floatRadix[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46floatRadix),1)
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v343)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46atan2[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46atan2),2)
, VAPTAG(useLabel(FN_Prelude_46_95_46atan2))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Double)
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v344)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46scaleFloat[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46scaleFloat),2)
, VAPTAG(useLabel(FN_Prelude_46_95_46scaleFloat))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Double)
, bytes2word(1,0,0,1)
, useLabel(CT_v345)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46significand[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46significand),1)
, VAPTAG(useLabel(FN_Prelude_46_95_46significand))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Double)
, bytes2word(1,0,0,1)
, useLabel(CT_v346)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double_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_46Double_46exponent[] = {
  CAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double_46exponent),1)
, VAPTAG(useLabel(FN_Prelude_46_95_46exponent))
, useLabel(CF_Prelude_46RealFloat_46Prelude_46Double)
, bytes2word(0,0,0,0)
, useLabel(CT_v347)
,};
Node FN_Prelude_46RealFloat_46Prelude_46Double[] = {
  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_46Double[] = {
  VAPTAG(useLabel(FN_Prelude_46RealFloat_46Prelude_46Double))
, useLabel(CF_Prelude_46RealFrac_46Prelude_46Double)
, useLabel(CF_Prelude_46Floating_46Prelude_46Double)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46atan2)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46isIEEE)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46isNaN)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46isDenormalized)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46significand)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46floatRange)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46isInfinite)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46isNegativeZero)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46floatDigits)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46decodeFloat)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46encodeFloat)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46scaleFloat)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46exponent)
, useLabel(F0_Prelude_46RealFloat_46Prelude_46Double_46floatRadix)
,};

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

/* foreign import ccall "math.h signbit" Prelude.cDIsNeg 1 :: Prelude.Double -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cDIsNeg = {"Prelude","Prelude.cDIsNeg","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cDIsNeg) {
  NodePtr nodeptr;
  HsBool result;
  double arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (double)get_double_value(nodeptr);

  result = signbit(arg1);

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

/* foreign import ccall "math.h isnormal" Prelude.cDIsNormal 1 :: Prelude.Double -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cDIsNormal = {"Prelude","Prelude.cDIsNormal","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cDIsNormal) {
  NodePtr nodeptr;
  HsBool result;
  double arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (double)get_double_value(nodeptr);

  result = isnormal(arg1);

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

/* foreign import ccall "math.h isfinite" Prelude.cDIsFinite 1 :: Prelude.Double -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cDIsFinite = {"Prelude","Prelude.cDIsFinite","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cDIsFinite) {
  NodePtr nodeptr;
  HsBool result;
  double arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (double)get_double_value(nodeptr);

  result = isfinite(arg1);

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

/* foreign import ccall "math.h isnan" Prelude.cDIsNaN 1 :: Prelude.Double -> Prelude.Bool */
#include "math.h"
#ifdef PROFILE
static SInfo pf_Prelude_46cDIsNaN = {"Prelude","Prelude.cDIsNaN","Prelude.Bool"};
#endif
C_HEADER(FR_Prelude_46cDIsNaN) {
  NodePtr nodeptr;
  HsBool result;
  double arg1;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (double)get_double_value(nodeptr);

  result = isnan(arg1);

  nodeptr = nhc_mkBool(result);
  INIT_PROFINFO(nodeptr,&pf_Prelude_46cDIsNaN);
  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].