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) |