diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-05-27 17:39:31 +0100 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-05-27 17:53:32 +0100 |
commit | 26c75cf8267919f81a1759c9c965a52c660233f9 (patch) | |
tree | cf2a39cf56c2c8ac45760854413ab233e6263974 /gmp/mpz/array_init.c | |
parent | 56892c1d217baea02092b51a09bbc924130ca84c (diff) | |
download | gcc-tarball-26c75cf8267919f81a1759c9c965a52c660233f9.tar.gz |
go to gmp 4.3.2baserock/pedroalvarez/gcc-5.3.0-gmp432
Diffstat (limited to 'gmp/mpz/array_init.c')
-rw-r--r-- | gmp/mpz/array_init.c | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/gmp/mpz/array_init.c b/gmp/mpz/array_init.c index b967ddbeef..0e2f9aaa53 100644 --- a/gmp/mpz/array_init.c +++ b/gmp/mpz/array_init.c @@ -1,32 +1,22 @@ /* mpz_array_init (array, array_size, size_per_elem) -- -Copyright 1991, 1993-1995, 2000-2002, 2012 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 2000, 2001, 2002 Free Software Foundation, +Inc. This file is part of the GNU MP Library. The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - -or - - * the GNU General Public License as published by the Free Software - Foundation; either version 2 of the License, or (at your option) any - later version. - -or both in parallel, as here. +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. The GNU MP Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +License for more details. -You should have received copies of the GNU General Public License and the -GNU Lesser General Public License along with the GNU MP Library. If not, -see https://www.gnu.org/licenses/. */ +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #include "gmp.h" #include "gmp-impl.h" @@ -34,17 +24,17 @@ see https://www.gnu.org/licenses/. */ void mpz_array_init (mpz_ptr arr, mp_size_t arr_size, mp_size_t nbits) { - mp_ptr p; - mp_size_t i; + register mp_ptr p; + register mp_size_t i; mp_size_t nlimbs; - nlimbs = nbits / GMP_NUMB_BITS + 1; - p = (mp_ptr) (*__gmp_allocate_func) ((size_t) arr_size * nlimbs * GMP_LIMB_BYTES); + nlimbs = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; + p = (mp_ptr) (*__gmp_allocate_func) (arr_size * nlimbs * BYTES_PER_MP_LIMB); for (i = 0; i < arr_size; i++) { - ALLOC (&arr[i]) = nlimbs + 1; /* Yes, lie a little... */ - SIZ (&arr[i]) = 0; - PTR (&arr[i]) = p + i * nlimbs; + arr[i]._mp_alloc = nlimbs + 1; /* Yes, lie a little... */ + arr[i]._mp_size = 0; + arr[i]._mp_d = p + i * nlimbs; } } |