summaryrefslogtreecommitdiff
path: root/mpz
diff options
context:
space:
mode:
authorMarco Bodrato <bodrato@mail.dm.unipi.it>2022-02-01 08:57:43 +0100
committerMarco Bodrato <bodrato@mail.dm.unipi.it>2022-02-01 08:57:43 +0100
commit2a50a80e126a457bbb909e96e69e835f215fe3f0 (patch)
tree59af0f61b307bbcf9c0786cfa5024d2a26959fff /mpz
parentff819072509267e2e9ac28d0781c7696c40b9208 (diff)
downloadgmp-2a50a80e126a457bbb909e96e69e835f215fe3f0.tar.gz
mpz/import.c: Reorder branches
Diffstat (limited to 'mpz')
-rw-r--r--mpz/import.c33
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;