inits2.c revision 1.1.1.3
1/* mpfr_inits2 -- initialize several floating-point numbers with given 2 precision 3 4Copyright 2003-2004, 2006-2018 Free Software Foundation, Inc. 5Contributed by the AriC and Caramba 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" 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 37/* 38 * Contrary to mpfr_init2, mpfr_prec_t p is the first argument 39 */ 40 41/* Explicit support for K&R compiler */ 42void 43#if HAVE_STDARG 44mpfr_inits2 (mpfr_prec_t p, mpfr_ptr x, ...) 45#else 46mpfr_inits2 (va_alist) 47 va_dcl 48#endif 49{ 50 va_list arg; 51#if HAVE_STDARG 52 va_start (arg, x); 53#else 54 mpfr_prec_t p; 55 mpfr_ptr x; 56 va_start(arg); 57 p = va_arg (arg, mpfr_prec_t); 58 x = va_arg (arg, mpfr_ptr); 59#endif 60 while (x != 0) 61 { 62 mpfr_init2 (x, p); 63 x = (mpfr_ptr) va_arg (arg, mpfr_ptr); 64 } 65 va_end (arg); 66} 67