summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-01-08 17:56:58 +0000
committerDamien George <damien.p.george@gmail.com>2016-01-08 17:56:58 +0000
commit2adf7ec3dd4da9188be60e9536b401ab99189558 (patch)
tree121c33924ad617b0c6c6b3d19d941a9f9e83c945
parentb1fa907d563b9efb77edc6a83056320a14408966 (diff)
downloadmicropython-2adf7ec3dd4da9188be60e9536b401ab99189558.tar.gz
micropython-2adf7ec3dd4da9188be60e9536b401ab99189558.zip
py/mpz: Fix conversion of float to mpz so it works on big endian archs.
-rw-r--r--py/mpz.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/py/mpz.c b/py/mpz.c
index 2a4fb4659d..b3f8b15b60 100644
--- a/py/mpz.c
+++ b/py/mpz.c
@@ -711,7 +711,11 @@ typedef uint32_t mp_float_int_t;
#endif
union {
mp_float_t f;
+ #if MP_ENDIANNESS_LITTLE
struct { mp_float_int_t frc:MP_FLOAT_FRAC_BITS, exp:MP_FLOAT_EXP_BITS, sgn:1; } p;
+ #else
+ struct { mp_float_int_t sgn:1, exp:MP_FLOAT_EXP_BITS, frc:MP_FLOAT_FRAC_BITS; } p;
+ #endif
} u = {src};
z->neg = u.p.sgn;