Использование вектора Bignum в C ++ - PullRequest
1 голос
/ 20 июня 2011

Что мне делать, чтобы вектор содержал двойные значения GMP bignum в C ++. Мой код работает только до миллиона. Вот что у меня сейчас в коде:

vector<double> Primes;

Что это должно быть? Я проверил, и я ничего не могу найти по этому поводу. Является ли использование нормальным.

Ответы [ 2 ]

4 голосов
/ 20 июня 2011

Это не большой двойной стандарт GMP, это стандартный встроенный двойной C ++.

А как насчет этого?

std::vector<mpf_class> Primes;

Но так как вы (казалось бы) помещаете простые числа в вектор, я подозреваю, что вам нужны целые числа, а не числа с плавающей запятой. Тогда это уместно:

std::vector<mpz_class> Primes;
1 голос
/ 20 июня 2011

Согласно документации номер GMP инициализируется с помощью

mpz_t q;

Выполнение инициализации вектора

std::vector<mpz_t> primes

Кроме того, почему ваши Primes имеют двойное разрешение?

...