むにむに。有理数の四則演算は出来るらしい。例の同じ生年月日問題とかにはヨサゲな感じ。
* 同じ生年月日問題
を GMP でやってみた。が、遅い、遅すぎる。ループの中身を実行するのに、手元のK6で0.9msもかかる。まぁ、こんなものなのかなぁ。
ちなみにソースはこんな感じ。
#include<stdio.h> #include<gmp.h> main() { int n = 86400000; int r = 3000000; int i; mpq_t sum; mpq_t mpq; mpq_init(sum); mpq_init(mpq); mpq_set_si(sum, 1, 1); for(i = 0; i < r; i++){ mpq_set_si(mpq, n - i, n); mpq_mul(sum, sum, mpq); } printf("result> %f\n", 1.0 - mpq_get_d(sum)); }