1 /* 2 Copyright (C) 2016 Fredrik Johansson 3 4 This file is part of Arb. 5 6 Arb is free software: you can redistribute it and/or modify it under 7 the terms of the GNU Lesser General Public License (LGPL) as published 8 by the Free Software Foundation; either version 2.1 of the License, or 9 (at your option) any later version. See <http://www.gnu.org/licenses/>. 10 */ 11 12 #include "arb.h" 13 14 /* The clear methods are not defined as inlines since this inflates 15 the code size. We inline the content manually here to avoid function 16 call overhead. */ 17 void arb_clear(arb_t x)18arb_clear(arb_t x) 19 { 20 ARF_DEMOTE(arb_midref(x)); 21 22 if (COEFF_IS_MPZ(ARF_EXP(arb_midref(x)))) 23 _fmpz_clear_mpz(ARF_EXP(arb_midref(x))); 24 25 if (COEFF_IS_MPZ(MAG_EXP(arb_radref(x)))) 26 _fmpz_clear_mpz(MAG_EXP(arb_radref(x))); 27 } 28 29