1/* mpfr_clears -- free the memory space allocated for several 2 floating-point numbers 3 4Copyright 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. 5Contributed by the Arenaire and Cacao projects, INRIA. 6 7This file is part of the GNU MPFR Library. 8 9The GNU MPFR Library is free software; you can redistribute it and/or modify 10it under the terms of the GNU Lesser General Public License as published by 11the Free Software Foundation; either version 3 of the License, or (at your 12option) any later version. 13 14The GNU MPFR Library is distributed in the hope that it will be useful, but 15WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 16or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 17License for more details. 18 19You should have received a copy of the GNU Lesser General Public License 20along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see 21http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., 2251 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ 23 24#ifdef HAVE_CONFIG_H 25#undef HAVE_STDARG 26#include "config.h" /* for a build within gmp */ 27#endif 28 29#if HAVE_STDARG 30# include <stdarg.h> 31#else 32# include <varargs.h> 33#endif 34 35#include "mpfr-impl.h" 36 37void 38#if HAVE_STDARG 39mpfr_clears (mpfr_ptr x, ...) 40#else 41mpfr_clears (va_alist) 42 va_dcl 43#endif 44{ 45 va_list arg; 46 47#if HAVE_STDARG 48 va_start (arg, x); 49#else 50 mpfr_ptr x; 51 va_start(arg); 52 x = va_arg (arg, mpfr_ptr); 53#endif 54 55 while (x != 0) 56 { 57 mpfr_clear (x); 58 x = (mpfr_ptr) va_arg (arg, mpfr_ptr); 59 } 60 va_end (arg); 61} 62