GNU MPFR on GNU-projektin kirjasto. Kirjasto on tarkoitettu liukulukulaskentaan oikealla pyöristyksellä. Projektia tukeva INRIA, sekä ranskalaiset Loria (Lorraine Research Laboratory in Computer Science and its Applications) ja Lip (Laboratoire de l'Informatique du Parallélisme). MPFR on toteutettu C-kielellä ja se perustuu GNU GMP -kirjastolle. MPFR on julkaistu GNU LGPL -lisenssillä.

MPFR on suunnattu tilanteisiin, joissa yhdistetään eri tarkkuuksien liukulukuja, joissa tarkkuus on säilytettävä. 32-bittinen (yksinkertainen tarkkuus) muoto on houkutteleva, koska se vähentää tiedon tallennuksen ja siirron kustannuksia sekä laskenta on nopeampaa verrattuna 64-bittiseen (kaksinkertainen tarkkuus) muotoon. Vuonna 2008 IEEE-standardiin lisättiin nelinkertainen tarkkuus. Lisäksi käytetään puolitarkkuutta (16-bittinen), jota IEEE ei ole standardoinut laskentaan (vain tallennukseen).

IEEE-standardin eräitä rajoitteita on operaatioiden määrittely vain tietylle tarkkuudelle eikä usealla tarkkuudella. Eräät työkalut käsittelevät liukulukuja useilla tarkkuuksilla, mutta eivät välttämättä pyöristä oikein.

MPFR on aloitettu 1990-luvun lopulla INRIAssa ja tekijänoikeudet siirrettiin Free Software Foundationille kesäkuussa 2000.

Esimerkiksi kompleksilukujen laskentaan käytetty GNU MPC -kirjasto käyttää MPFR-kirjastoa. GCC-kääntäjä käyttää käyttää MPFR-kirjastoa C- ja Fortran-kielille vakioarvojen käsittelyyn käännösaikana.

Lähteet

Luokka:GNU Luokka:Ohjelmakirjastot