1 /* mpq_set(dest,src) -- Set DEST to SRC.
3 Copyright (C) 1991 Free Software Foundation, Inc.
5 This file is part of the GNU MP Library.
7 The GNU MP Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 The GNU MP Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with the GNU MP Library; see the file COPYING. If not, write to
19 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
26 mpq_set (MP_RAT *dest, const MP_RAT *src)
33 mp_size num_size, den_size;
36 num_size = src->num.size;
37 abs_num_size = ABS (num_size);
38 if (dest->num.alloc < abs_num_size)
39 _mpz_realloc (&(dest->num), abs_num_size);
40 MPN_COPY (dest->num.d, src->num.d, abs_num_size);
41 dest->num.size = num_size;
43 den_size = src->den.size;
44 if (dest->den.alloc < den_size)
45 _mpz_realloc (&(dest->den), den_size);
46 MPN_COPY (dest->den.d, src->den.d, den_size);
47 dest->den.size = den_size;