ベクトルに C++ の GMP bignum double 値を含めるにはどうすればよいですか。私のコードは 100 万を超えるまでしか機能しません。これが私のコードにあるものです:
vector<double> Primes;
それは何ですか?私はチェックしましたが、これについては何も見つかりません。使用感は普通です。
これは GMP の big double ではなく、標準の組み込み C++ double です。
これはどうですか?
std::vector<mpf_class> Primes;
しかし、あなたは(一見)ベクトルに素数を入れているので、浮動小数点数ではなく整数が必要だと思います。次に、これは適切です:
std::vector<mpz_class> Primes;
ドキュメントによると、GMP番号は次を使用して初期化されます
mpz_t q;
ベクトルの初期化
std::vector<mpz_t> primes
また、なぜあなたのプライムは二重許可なのですか?