OLD | NEW |
| (Empty) |
1 /* mpfr_inits2 -- initialize several floating-point numbers with given | |
2 precision | |
3 | |
4 Copyright 2003, 2004, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. | |
5 Contributed by the Arenaire and Cacao projects, INRIA. | |
6 | |
7 This file is part of the GNU MPFR Library. | |
8 | |
9 The GNU MPFR Library is free software; you can redistribute it and/or modify | |
10 it under the terms of the GNU Lesser General Public License as published by | |
11 the Free Software Foundation; either version 2.1 of the License, or (at your | |
12 option) any later version. | |
13 | |
14 The GNU MPFR Library is distributed in the hope that it will be useful, but | |
15 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public | |
17 License for more details. | |
18 | |
19 You should have received a copy of the GNU Lesser General Public License | |
20 along with the GNU MPFR Library; see the file COPYING.LIB. If not, write to | |
21 the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | |
22 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 | |
37 /* | |
38 * Contrary to mpfr_init2, mp_prec_t p is the first argument | |
39 */ | |
40 | |
41 /* Explicit support for K&R compiler */ | |
42 void | |
43 #if HAVE_STDARG | |
44 mpfr_inits2 (mp_prec_t p, mpfr_ptr x, ...) | |
45 #else | |
46 mpfr_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 mp_prec_t p; | |
55 mpfr_ptr x; | |
56 va_start(arg); | |
57 p = va_arg (arg, mp_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 } | |
OLD | NEW |