Skip to content

Instantly share code, notes, and snippets.

@ssaavedra
Created April 2, 2013 20:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ssaavedra/5295888 to your computer and use it in GitHub Desktop.
Save ssaavedra/5295888 to your computer and use it in GitHub Desktop.
#include <mpfr.h>
#include <gmp.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char*argv[]) {
mpfr_t D, d, q, r;
mpfr_set_default_prec (53);
mpfr_set_emin (-1073); mpfr_set_emax (1024);
mpfr_inits(D, d, q, r, NULL);
mpfr_set_str(D, "3", 10, MPFR_RNDZ);
mpfr_set_str(d, "10", 10, MPFR_RNDZ);
mpfr_div(q, D, d, MPFR_RNDZ);
mpfr_remainder(r, D, d, MPFR_RNDZ);
printf("The result of %ld/%ld is %lf (r=%ld).\n", mpfr_get_si(D, MPFR_RNDZ), mpfr_get_si(d, MPFR_RNDZ), mpfr_get_d(q, MPFR_RNDZ), mpfr_get_si(r, MPFR_RNDZ));
mpfr_clears(D, d, q, r, NULL);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment