projects
/
ghc-base.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-02-26 12:14:54 by panne]
[ghc-base.git]
/
cbits
/
longlong.c
diff --git
a/cbits/longlong.c
b/cbits/longlong.c
index
4a04abf
..
f6e8567
100644
(file)
--- a/
cbits/longlong.c
+++ b/
cbits/longlong.c
@@
-1,5
+1,5
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: longlong.c,v 1.3 2002/03/19 11:24:52 simonmar Exp $
+ * $Id: longlong.c,v 1.4 2002/12/13 14:23:42 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
*
* (c) The GHC Team, 1998-1999
*
@@
-96,9
+96,9
@@
StgWord64 stg_integerToWord64 (I_ sa, StgByteArray /* Really: mp_limb_t* */ da)
switch (s) {
case 0: res = 0; break;
case 1: res = d[0]; break;
switch (s) {
case 0: res = 0; break;
case 1: res = d[0]; break;
- case -1: res = -d[0]; break;
+ case -1: res = -(StgWord64)d[0]; break;
default:
default:
- res = d[0] + ((StgWord64) d[1] << (BITS_IN (mp_limb_t)));
+ res = (StgWord64)d[0] + ((StgWord64)d[1] << (BITS_IN (mp_limb_t)));
if (s < 0) res = -res;
}
return res;
if (s < 0) res = -res;
}
return res;
@@
-114,9
+114,9
@@
StgInt64 stg_integerToInt64 (StgInt sa, StgByteArray /* Really: mp_limb_t* */ da
switch (s) {
case 0: res = 0; break;
case 1: res = d[0]; break;
switch (s) {
case 0: res = 0; break;
case 1: res = d[0]; break;
- case -1: res = -d[0]; break;
+ case -1: res = -(StgInt64)d[0]; break;
default:
default:
- res = d[0] + ((StgWord64) d[1] << (BITS_IN (mp_limb_t)));
+ res = (StgInt64)d[0] + ((StgWord64)d[1] << (BITS_IN (mp_limb_t)));
if (s < 0) res = -res;
}
return res;
if (s < 0) res = -res;
}
return res;