2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 GMP Library
Сообщение22.04.2011, 20:34 


22/04/11
4
Здравствуйте!
Кто-нибудь работал с библиотекой GMP?

Проблема в том, что у меня каждый раз генерируется одна и та же последовательность случайных
чисел. В хелпе к либе написано, что за последовательности отвечает функция gmp_randseed(gmp _rand_state state,mpz_t seed)
Значение seed я ставлю побольше (ну там 1000000)

Сначала я иницилиализирую генератор чисел
gmp_randinit_default(GENERATOR);

Затем ставлю распределение
gmp_randseed(GENERATOR,10000000)

и после этого вызываю функции для генерации чисел..

 Профиль  
                  
 
 Re: GMP Library
Сообщение22.04.2011, 20:41 
Заслуженный участник


09/08/09
3438
С.Петербург
Если Вы все время используете одно и то же значение seed, то всегда будете получать одну и ту же последовательность псевдослучайных чисел.

Инициализируйте чем-нибудь типа системного времени.

 Профиль  
                  
 
 Re: GMP Library
Сообщение22.04.2011, 20:45 


22/04/11
4
Ага, теперь все ясно, спасибо ;)
Тогда типа:

srand(time(NULL);
gmp_randseed(G,rand()%RAND_MAX)

 Профиль  
                  
 
 Re: GMP Library
Сообщение24.04.2011, 19:07 


22/04/11
4
Снова вопрос по GMP

При генерации вещественных чисел получаемые значения не дотягивают до заданной точности (если ставить точность от 20 и выше знаков)
Точность задаю через mpf_set_default_prec(pr);

Например, если ставить точность 90 знаков, генерируются знаков 30 :roll:
В чем может быть дело?

 Профиль  
                  
 
 Re: GMP Library
Сообщение25.04.2011, 00:00 
Заслуженный участник


04/05/09
4587
Может, точность промежуточных значений должна быть больше?

 Профиль  
                  
 
 Re: GMP Library
Сообщение26.04.2011, 06:33 


22/04/11
4
venco, не понимаю ответа, что значит точность промежуточных значений?

 Профиль  
                  
 
 Re: GMP Library
Сообщение28.04.2011, 22:35 


28/04/11
6
Функция mpf_set_default_prec(pr) задает точность в битах, а не знаках!
если pr=90, то максимальное десятичное число, которое может уместиться в 90 битах $2^9^0=1237940039285380274899124224$, т.е. около 27 знаков.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group