1 /*
2     Copyright (C) 2009 William Hart
3 
4     This file is part of FLINT.
5 
6     FLINT 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 <gmp.h>
13 #include "flint.h"
14 #include "ulong_extras.h"
15 #include "fmpz.h"
16 
17 mp_size_t
fmpz_size(const fmpz_t f)18 fmpz_size(const fmpz_t f)
19 {
20     fmpz d = *f;
21 
22     if (d == 0)
23         return 0;
24     if (!COEFF_IS_MPZ(d))
25         return 1;
26     else
27         return mpz_size(COEFF_TO_PTR(d));
28 }
29