MPCのインストール
MPCとは、任意精度で複素数の演算を行うためのライブラリです。
以降、GMPとMPFRは導入済みとし、MPCをソースからインストールします。実行環境は以下の通りです。
OS : Ubuntu 22.04.3 LTS
GMP : 6.3.0
MPFR : 4.2.1
インストール
2024年12月24日時点ではバージョン1.3.1が最新のようです。下記HPからダウンロードし、解凍します。
https://www.multiprecision.org/mpc/download.html
$ tar xzf mpc-1.3.1.tar.gz
$ cd mpc-1.3.1/
筆者の環境では$HOME/mylocalにGMPとMPFRをインストールしているので、configureの際にディレクトリを指定します。
$ ./configure --prefix=$HOME/mylocal --with-gmp=$HOME/mylocal --with-mpfr=$HOME/mylocal
$ make
$ make check
$ make install
サンプルプログラム
インストールが終わったら、単純なプログラム sample.c で動作を確かめます。
#include <stdio.h>
#include <mpc.h>
int main (void)
{
unsigned int i;
mpc_t s, t;
mpc_init2 (t, 30);
mpc_init2 (s, 50);
mpc_set_ui (t, 1234, MPFR_RNDD);
mpc_set_ui (s, 5678, MPFR_RNDD);
printf ("t = ");
mpc_out_str (stdout, 10, 0, t, MPFR_RNDD);
putchar ('\n');
printf ("s = ");
mpc_out_str (stdout, 10, 0, s, MPFR_RNDD);
putchar ('\n');
mpc_clear (s);
mpc_clear (t);
return 0;
}
Makefileを一応つくります。
run: sample
./sample
sample.o: sample.c
gcc -I$(HOME)/mylocal/include -c -o sample.o sample.c
sample: sample.o
gcc -o sample sample.o $(HOME)/mylocal/lib/libmpc.so
サンプルプログラムを実行します。
$ make
(省略)
./sample
t = (1.2340000000e3 0)
s = (5.6780000000000000e3 0)
問題なさそうです。MPCのインストールは以上です。