my first code using GMP!

Pranav Jawale pranavshriram at gmail.com
Thu May 31 12:17:21 CEST 2012


Hello,

Yes, my code had a problem with exponent, and I had fixed it(but didn't
post). Please look at below code wrt gmp_printf where it's giving me seg
fault. I tried variation of the example given in manual and also Marco's
both lines (first of them doesn't work)

------------------------ code --------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <gmp.h>
#include <string.h>

int main ()
{
  mpf_t mpfNumber;
  int totalDigits = 10;
  mpf_init(mpfNumber);
  double d = 1.0003;
  mpf_set_d(mpfNumber,d);

  // this gives seg fault (same as in manual, except * replaced with 10)
  //gmp_printf ("fixed point mpf %.10Ff with %d digits\n", totalDigits,
mpfNumber, totalDigits);

  // this gives seg fault
  //gmp_printf ("\n%%.*FE, with %d digits, gives: %.10FE\n",
totalDigits,totalDigits, mpfNumber);

  //this gives seg fault
  //gmp_printf ("\n%%.10FE, with %d digits, gives: %.10Ff\n",
totalDigits,totalDigits, mpfNumber);

  //this gives seg fault
  //gmp_printf ("\n%%.10Ff, with %d digits, gives: %.10Ff\n", mpfNumber,
totalDigits, mpfNumber);

  // this works
  gmp_printf("\n number is %.10Ff with %d digits", mpfNumber, totalDigits);

  mpf_clear(mpfNumber);
  printf("\n");
  return 0;
}


On Thu, May 31, 2012 at 12:23 PM, <bodrato at mail.dm.unipi.it> wrote:

> Ciao Pranav,
>
> Il Mer, 30 Maggio 2012 8:53 pm, Pranav Jawale ha scritto:
> > Earlier I tried to use gmp_printf, but it was giving seg fault.
>
> Maybe your code was not ready yet :-)
>
> > I think this line
> > gmp_printf ("fixed point mpf %.*Ff with %d digits\n", n, f, n);
> > is not working properly
>
> I tried to insert the two lines below in your code, they work smoothly.
>
>  gmp_printf ("\n%%.*FE, with %d digits, gives: %.*FE\n", totalDigits,
> totalDigits, ans);
>  gmp_printf ("\nfixed point mpf %.*Ff with %d digits\n", totalDigits,
> ans, totalDigits);
>
> m
>
> --
> http://bodrato.it/software/combinatorics.html
>
>


-- 
*
*
The best way to get something done is to begin.  ~Author Unknown


More information about the gmp-discuss mailing list