The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

initstate ()
  • initstate (3) ( FreeBSD man: Библиотечные вызовы )
  • >> initstate (3) ( Русские man: Библиотечные вызовы )
  • initstate (3) ( Linux man: Библиотечные вызовы )
  • initstate (3) ( POSIX man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    random, srandom, initstate, setstate - генерируют случайные числа  

    СИНТАКСИС

    #include <stdlib.h>
    
    long int random(void);
    void srandom(unsigned int seed);
    char *initstate(unsigned int seed, char *state, size_t n);
    char *setstate(char *state);
    
     

    ОПИСАНИЕ

    Функция random() использует нелинейный возвратно-аддитивный генератор случайных чисел, используя по умолчанию таблицу из 31-ого длинного целого числа и возвращает случайное число в промежутке от нуля до RAND_MAX. Период этого генератора очень велик, приблизительно 16*((2**31)-1).

    Функция srandom() устанавливает свой аргумент как "зерно" для новой последовательности псевдослучайных чисел, которые будут возвращаться функцией random(). Эта последовательность может задаваться при вызове srandom() с соответствующим значением "зерна". Если размер "зерна" не указан, функция random() автоматически устанавливает его равным единице.

    Функция initstate() позволяет инициализировать массив state для последующего его использования функцией random(). Размер массива n используется initstate() для определения, как сложен необходимый для использования генератор случайных чисел. Чем больше массив, тем полученные числа будут более случайными. seed - это "зерно" последовательности для инициализации, которое определяет стартовую точку последовательности случайных чисел и позволяет повторить последовательность с той же точки.

    Функция setstate() изменяет состояние массива, используемого в random(). Массив state используется для генерации случайных чисел до следующего вызова initstate() или setstate(). state должен быть инициализирован с помощью функции initstate() или результатом предыдущего вызова setstate().  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    Функция random() возвращает значение в промежутке от нуля до RAND_MAX. Функция srandom() не возвращает значений. Функция initstate() и setstate() возвращает указатель на предыдущий массив состояний, или NULL, при ошибке.  

    НАЙДЕННЫЕ ОШИБКИ

    EINVAL
    (функции initstate() передан массив, состоящий менее чем из 8-и чисел).
     

    ЗАМЕЧАНИЯ

    В настоящее время оптимальными размерами массива n будут 8, 32, 64, 128, и 256 байтов; все остальные будут округляться до ближайшего известного числа. Использование размера менее 8-и байтов приводит к ошибке.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    BSD 4.3  

    СМ. ТАКЖЕ

    rand(3), srand(3)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    ЗАМЕЧАНИЯ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру