set.c revision 1.1.1.1
1/* mpz_set (dest_integer, src_integer) -- Assign DEST_INTEGER from SRC_INTEGER. 2 3Copyright 1991, 1993, 1994, 1995, 2000 Free Software Foundation, Inc. 4 5This file is part of the GNU MP Library. 6 7The GNU MP Library is free software; you can redistribute it and/or modify 8it under the terms of the GNU Lesser General Public License as published by 9the Free Software Foundation; either version 3 of the License, or (at your 10option) any later version. 11 12The GNU MP Library is distributed in the hope that it will be useful, but 13WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 15License for more details. 16 17You should have received a copy of the GNU Lesser General Public License 18along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ 19 20#include "gmp.h" 21#include "gmp-impl.h" 22 23 24#ifdef BERKELEY_MP 25#include "mp.h" 26#define FUNCTION move 27#define ARGUMENTS mpz_srcptr u, mpz_ptr w 28 29#else 30#define FUNCTION mpz_set 31#define ARGUMENTS mpz_ptr w, mpz_srcptr u 32 33#endif 34 35 36void 37FUNCTION (ARGUMENTS) 38{ 39 mp_ptr wp, up; 40 mp_size_t usize, size; 41 42 usize = u->_mp_size; 43 size = ABS (usize); 44 45 if (w->_mp_alloc < size) 46 _mpz_realloc (w, size); 47 48 wp = w->_mp_d; 49 up = u->_mp_d; 50 51 MPN_COPY (wp, up, size); 52 w->_mp_size = usize; 53} 54