Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Динамическое выделение памяти для массива типа mpz_t (GMP)
Доброй ночи всем!
Подскажите, пожалуйста, как выделить динамически память под массив типа mpz_t (GMP)?

 Re: Динамическое выделение памяти для массива типа mpz_t (GMP)
Как обычно:
Код:
mzp_t* array = (mzp_t*)malloc(size*sizeof(mzp_t));

Не забыть только проинициализировать каждый элемент.
Ну или воспользоваться C++ версией.

 Re: Динамическое выделение памяти для массива типа mpz_t (GMP)
Спасибо, venco. Инициализация была по привычке до максимального кол-ва элементов, а не до выделенного, поэтому и вылетало.

 Re: Динамическое выделение памяти для массива типа mpz_t (GMP)
Подскажите, пожалуйста, как выделить память под массив типа int, но его длина должна быть целым длинным числом типа mpz_t ?
Обычно выделяю так:
int *d;
d = new int *[n];
Но теперь n типа mpz_t. Что тогда делать?

 Re: Динамическое выделение памяти для массива типа mpz_t (GMP)
_Student в сообщении #487012 писал(а):
Подскажите, пожалуйста, как выделить память под массив типа int, но его длина должна быть целым длинным числом типа mpz_t ?
Обычно выделяю так:
int *d;
d = new int *[n];
Но теперь n типа mpz_t. Что тогда делать?

Посмотрите в сторону функций
Код:
mpz_get_ui
mpz_get_si

только если ваше n будет больше кое-какого числа (зависит от вашей системы, обычно это $2^{31}$), то попытка выделить память может обернуться плохим настроением на весь день.

 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group