summaryrefslogtreecommitdiff
path: root/src/set_d64.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2018-09-07 15:17:37 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2018-09-07 15:17:37 +0000
commitbb62fe3048ca7a1d9d39b8afe9c196c1d7b7a6a6 (patch)
tree665616dea098aefe0c8435958ee5fc267943df3d /src/set_d64.c
parentf00b1bbc53fd492d706320adbc7e1c242daadcc9 (diff)
downloadmpfr-bb62fe3048ca7a1d9d39b8afe9c196c1d7b7a6a6.tar.gz
adapt to 8-bit limbs (work in progress)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13156 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/set_d64.c')
-rw-r--r--src/set_d64.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/set_d64.c b/src/set_d64.c
index ba8f07151..1acb0aced 100644
--- a/src/set_d64.c
+++ b/src/set_d64.c
@@ -218,8 +218,17 @@ decimal64_to_string (char *s, _Decimal64 d)
sp[1] = MPFR_LIMB(rp[0] >> 16);
sp[2] = MPFR_LIMB(rp[1]);
sp[3] = MPFR_LIMB(rp[1] >> 16);
+#elif GMP_NUMB_BITS == 8
+ sp[0] = MPFR_LIMB(rp[0]);
+ sp[1] = MPFR_LIMB(rp[0] >> 8);
+ sp[2] = MPFR_LIMB(rp[0] >> 16);
+ sp[3] = MPFR_LIMB(rp[0] >> 24);
+ sp[4] = MPFR_LIMB(rp[1]);
+ sp[5] = MPFR_LIMB(rp[1] >> 8);
+ sp[6] = MPFR_LIMB(rp[1] >> 16);
+ sp[7] = MPFR_LIMB(rp[1] >> 24);
#else
-#error "GMP_NUMB_BITS should be 16, 32, or >= 64"
+#error "GMP_NUMB_BITS should be 8, 16, 32, or >= 64"
#endif
sn = NLIMBS;
while (sn > 0 && sp[sn - 1] == 0)