diff options
author | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2012-06-01 08:19:24 +0200 |
---|---|---|
committer | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2012-06-01 08:19:24 +0200 |
commit | 7254eaa28b343bfc05de46c618f6617ec7de23aa (patch) | |
tree | 5ea5188cca613dd4b8a0c941b3be7be468aea4d6 /mpq/neg.c | |
parent | d16b005b490eabeda823c3fb00fef9329a4cf649 (diff) | |
download | gmp-7254eaa28b343bfc05de46c618f6617ec7de23aa.tar.gz |
mpq: Use more macros and MPZ_REALLOC return value when possible.
Diffstat (limited to 'mpq/neg.c')
-rw-r--r-- | mpq/neg.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -1,6 +1,6 @@ /* mpq_neg -- negate a rational. -Copyright 2000, 2001 Free Software Foundation, Inc. +Copyright 2000, 2001, 2012 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -30,16 +30,17 @@ mpq_neg (mpq_ptr dst, mpq_srcptr src) if (src != dst) { - mp_size_t num_abs_size = ABS(num_size); - mp_size_t den_size = SIZ(DEN(src)); + mp_size_t size; + mp_ptr dp; - MPZ_REALLOC (mpq_numref(dst), num_abs_size); - MPZ_REALLOC (mpq_denref(dst), den_size); + size = ABS(num_size); + dp = MPZ_REALLOC (NUM(dst), size); + MPN_COPY (dp, PTR(NUM(src)), size); - MPN_COPY (PTR(NUM(dst)), PTR(NUM(src)), num_abs_size); - MPN_COPY (PTR(DEN(dst)), PTR(DEN(src)), den_size); - - SIZ(DEN(dst)) = den_size; + size = SIZ(DEN(src)); + dp = MPZ_REALLOC (DEN(dst), size); + SIZ(DEN(dst)) = size; + MPN_COPY (dp, PTR(DEN(src)), size); } SIZ(NUM(dst)) = -num_size; |