summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2008-04-17 17:19:43 +0000
committerIan Lynagh <igloo@earth.li>2008-04-17 17:19:43 +0000
commit4f92da533cd1c7b5f41ef8794ee6a284f1680413 (patch)
tree36cf249df3c7f81eb19f4e52197d8aa9fb335222 /includes
parent393220f6e889aa681f0751510df4b429d399305e (diff)
downloadhaskell-4f92da533cd1c7b5f41ef8794ee6a284f1680413.tar.gz
Add some more generic (en|de)code(Double|Float) code
Diffstat (limited to 'includes')
-rw-r--r--includes/Rts.h2
-rw-r--r--includes/RtsExternal.h1
-rw-r--r--includes/StgMiscClosures.h2
3 files changed, 5 insertions, 0 deletions
diff --git a/includes/Rts.h b/includes/Rts.h
index cec93e68b0..610cd701b3 100644
--- a/includes/Rts.h
+++ b/includes/Rts.h
@@ -206,6 +206,8 @@ extern void stackOverflow(void);
extern void __decodeDouble (MP_INT *man, I_ *_exp, StgDouble dbl);
extern void __decodeFloat (MP_INT *man, I_ *_exp, StgFloat flt);
+extern void __decodeDouble_2Int (I_ *man_high, I_ *man_low, I_ *exp, StgDouble dbl);
+extern void __decodeFloat_Int (I_ *man, I_ *exp, StgFloat flt);
#if defined(WANT_DOTNET_SUPPORT)
#include "DNInvoke.h"
diff --git a/includes/RtsExternal.h b/includes/RtsExternal.h
index 24dace2b14..f0e7b75f8c 100644
--- a/includes/RtsExternal.h
+++ b/includes/RtsExternal.h
@@ -48,6 +48,7 @@ extern unsigned int n_capabilities;
/* grimy low-level support functions defined in StgPrimFloat.c */
extern StgDouble __encodeDouble (I_ size, StgByteArray arr, I_ e);
+extern StgDouble __2Int_encodeDouble (I_ j_high, I_ j_low, I_ e);
extern StgDouble __int_encodeDouble (I_ j, I_ e);
extern StgFloat __encodeFloat (I_ size, StgByteArray arr, I_ e);
extern StgFloat __int_encodeFloat (I_ j, I_ e);
diff --git a/includes/StgMiscClosures.h b/includes/StgMiscClosures.h
index 10e4638ca4..1d2b32cb47 100644
--- a/includes/StgMiscClosures.h
+++ b/includes/StgMiscClosures.h
@@ -526,7 +526,9 @@ RTS_FUN(int2Integerzh_fast);
RTS_FUN(word2Integerzh_fast);
RTS_FUN(decodeFloatzh_fast);
+RTS_FUN(decodeFloatzuIntzh_fast);
RTS_FUN(decodeDoublezh_fast);
+RTS_FUN(decodeDoublezu2Intzh_fast);
RTS_FUN(andIntegerzh_fast);
RTS_FUN(orIntegerzh_fast);