| version 1.1.1.1, 2000/09/09 14:12:19 | 
version 1.1.1.2, 2003/08/25 16:06:07 | 
 | 
 | 
|  /* mpfr_init -- initialize a floating-point number | 
 /* mpfr_init -- initialize a floating-point number | 
|   | 
  | 
|  Copyright (C) 1999 PolKA project, Inria Lorraine and Loria | 
 Copyright 1999, 2001 Free Software Foundation, Inc. | 
|   | 
  | 
|  This file is part of the MPFR Library. | 
 This file is part of the MPFR Library. | 
|   | 
  | 
|  The MPFR Library is free software; you can redistribute it and/or modify | 
 The MPFR Library is free software; you can redistribute it and/or modify | 
|  it under the terms of the GNU Library General Public License as published by | 
 it under the terms of the GNU Lesser General Public License as published by | 
|  the Free Software Foundation; either version 2 of the License, or (at your | 
 the Free Software Foundation; either version 2.1 of the License, or (at your | 
|  option) any later version. | 
 option) any later version. | 
|   | 
  | 
|  The MPFR Library is distributed in the hope that it will be useful, but | 
 The MPFR Library is distributed in the hope that it will be useful, but | 
|  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | 
 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | 
|  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public | 
 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public | 
|  License for more details. | 
 License for more details. | 
|   | 
  | 
|  You should have received a copy of the GNU Library General Public License | 
 You should have received a copy of the GNU Lesser General Public License | 
|  along with the MPFR Library; see the file COPYING.LIB.  If not, write to | 
 along with the MPFR Library; see the file COPYING.LIB.  If not, write to | 
|  the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 
|  MA 02111-1307, USA. */ | 
 MA 02111-1307, USA. */ | 
|   | 
  | 
|  #include <stdio.h> | 
  | 
|  #include "gmp.h" | 
 #include "gmp.h" | 
|  #include "gmp-impl.h" | 
 #include "gmp-impl.h" | 
|  #include "mpfr.h" | 
 #include "mpfr.h" | 
|   | 
 #include "mpfr-impl.h" | 
|   | 
  | 
|  void | 
 void | 
|  #if __STDC__ | 
 mpfr_init (mpfr_ptr x) | 
|  mpfr_init2 (mpfr_t x, unsigned long int p) | 
  | 
|  #else | 
  | 
|  mpfr_init2 (x, p) | 
  | 
|       mpfr_t x; | 
  | 
|       unsigned long int p; | 
  | 
|  #endif | 
  | 
|  { | 
 { | 
|    unsigned long xsize; | 
   mpfr_init2 (x, __mpfr_default_fp_bit_precision); | 
|   | 
  | 
|    if (p==0) { | 
  | 
|      printf("*** cannot initialize mpfr with precision 0\n"); exit(1); | 
  | 
|    } | 
  | 
|   | 
  | 
|    xsize = (p - 1)/BITS_PER_MP_LIMB + 1; | 
  | 
|   | 
  | 
|    x -> _mp_prec = p; | 
  | 
|    x -> _mp_d = (mp_ptr) (*_mp_allocate_func) | 
  | 
|      (xsize * BYTES_PER_MP_LIMB); | 
  | 
|    x -> _mp_size = xsize; | 
  | 
|    x -> _mp_exp = 0; /* avoids uninitialized memory reads for zero */ | 
  | 
|  } | 
 } |