diff options
author | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-02-01 08:57:43 +0100 |
---|---|---|
committer | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-02-01 08:57:43 +0100 |
commit | 2a50a80e126a457bbb909e96e69e835f215fe3f0 (patch) | |
tree | 59af0f61b307bbcf9c0786cfa5024d2a26959fff /mpz | |
parent | ff819072509267e2e9ac28d0781c7696c40b9208 (diff) | |
download | gmp-2a50a80e126a457bbb909e96e69e835f215fe3f0.tar.gz |
mpz/import.c: Reorder branches
Diffstat (limited to 'mpz')
-rw-r--r-- | mpz/import.c | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/mpz/import.c b/mpz/import.c index ad909d2f7..55960c4bb 100644 --- a/mpz/import.c +++ b/mpz/import.c @@ -1,6 +1,6 @@ /* mpz_import -- set mpz from word data. -Copyright 2002, 2012, 2021 Free Software Foundation, Inc. +Copyright 2002, 2012, 2021, 2022 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -68,31 +68,22 @@ mpz_import (mpz_ptr z, size_t count, int order, && size == sizeof (mp_limb_t) && (((char *) data - (char *) NULL) % sizeof (mp_limb_t)) == 0 /* align */) { - if (order == -1 && endian == HOST_ENDIAN) + if (order == -1) { - MPN_COPY (zp, (mp_srcptr) data, (mp_size_t) count); - goto done; + if (endian == HOST_ENDIAN) + MPN_COPY (zp, (mp_srcptr) data, (mp_size_t) count); + else /* if (endian == - HOST_ENDIAN) */ + MPN_BSWAP (zp, (mp_srcptr) data, (mp_size_t) count); } - - if (order == -1 && endian == - HOST_ENDIAN) - { - MPN_BSWAP (zp, (mp_srcptr) data, (mp_size_t) count); - goto done; - } - - if (order == 1 && endian == HOST_ENDIAN) + else /* if (order == 1) */ { - MPN_REVERSE (zp, (mp_srcptr) data, (mp_size_t) count); - goto done; - } - - if (order == 1 && endian == -HOST_ENDIAN) - { - MPN_BSWAP_REVERSE (zp, (mp_srcptr) data, (mp_size_t) count); - goto done; + if (endian == HOST_ENDIAN) + MPN_REVERSE (zp, (mp_srcptr) data, (mp_size_t) count); + else /* if (endian == - HOST_ENDIAN) */ + MPN_BSWAP_REVERSE (zp, (mp_srcptr) data, (mp_size_t) count); } } - + else { mp_limb_t limb, byte, wbitsmask; size_t i, j, numb, wbytes; |