summaryrefslogtreecommitdiff
path: root/rts/StgPrimFloat.h
blob: 13d3a5965a31aa5a0c70c7302d07f0f0e7ea7b0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* -----------------------------------------------------------------------------
 *
 * (c) The GHC Team, 1998-2009
 *
 * Primitive floating-point operations
 *
 * ---------------------------------------------------------------------------*/

#ifndef STGPRIMFLOAT_H
#define STGPRIMFLOAT_H

#pragma GCC visibility push(hidden)

/* grimy low-level support functions defined in StgPrimFloat.c */
void      __decodeDouble_2Int (I_ *man_sign, W_ *man_high, W_ *man_low, I_ *exp, StgDouble dbl);
void      __decodeFloat_Int (I_ *man, I_ *exp, StgFloat flt);
StgDouble __2Int_encodeDouble (I_ j_high, I_ j_low, I_ e);
StgDouble __int_encodeDouble (I_ j, I_ e);
StgDouble __word_encodeDouble (W_ j, I_ e);
StgFloat  __int_encodeFloat (I_ j, I_ e);
StgFloat  __word_encodeFloat (W_ j, I_ e);

#pragma GCC visibility pop

#endif /* STGPRIMFLOAT_H */