GMP(Gnu MP)は基本的には算術(加減乗除)の演算のみを提供しますが,各種の高度な関数(指数関数,対数関数,三角関数など)の値を計算するための機能はありません.そこで,GMPを利用して高度な関数を計算するためのライブラリ MPFR が作られました.
GNU MPFRのサイト: http://www.mpfr.org/
MPFRの使い方はGMPに倣っており,mpfr_t 型のオブジェクトを用いて計算処理を実行します.MPFR用の各種関数もGMPのものと類似しており,同じような使い方ができます.
【各種計算のための関数】 (一部の代表的なもの)
| 算術演算 | 書式 | 意味 |
| 加算 | mpfr_add(x,a,b,丸め指定) | x = a + b |
| 減算 | mpfr_sub(x,a,b,丸め指定) | x = a – b |
| 乗算 | mpfr_mul(x,a,b,丸め指定) | x = a * b |
| 除算 | mpfr_div(x,a,b,丸め指定) | x = a / b |
| べき乗 | mpfr_pow(x,a,b,丸め指定) | x = a ^ b |
| 指数・対数関数 | 書式 | 意味 |
| e^n | mpfr_exp(x,n,丸め指定) | x = e ^ n |
| 2^n | mpfr_exp2(x,n,丸め指定) | x = 2 ^ n |
| 10^n | mpfr_exp10(x,n,丸め指定) | x = 10 ^ n |
| log e n | mpfr_log(x,n,丸め指定) | x = log e n |
| log 2 n | mpfr_log2(x,n,丸め指定) | x = log 2 n |
| log 10 n | mpfr_log10(x,n,丸め指定) | x = log 10 n |
| 三角関数 | 書式 | 意味 |
| 正弦関数 | mpfr_sin(y,x,丸め指定) | y = sin(x) |
| 余弦関数 | mpfr_cos(y,x,丸め指定) | y = cos(x) |
| 正接関数 | mpfr_tan(y,x,丸め指定) | y = tan(x) |
| 逆正弦関数 | mpfr_asin(y,x,丸め指定) | y = asin(x) |
| 逆余弦関数 | mpfr_acos(y,x,丸め指定) | y = acos(x) |
| 逆正接関数 | mpfr_atan(y,x,丸め指定) | y = atan(x) |