2014 dxdy logo

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

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




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

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

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

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

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

 
 
 
 Re: Динамическое выделение памяти для массива типа mpz_t (GMP)
Сообщение28.09.2011, 07:41 
_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