LINUX.ORG.RU

История изменений

Исправление PPP328, (текущая версия) :

#define _RAND_MULTIPLIER (1103515245)
#define _RAND_INCREMENT  (12345)

static u32 global_next = 1;

static void nextrand(void) {
    global_next = global_next * _RAND_MULTIPLIER + _RAND_INCREMENT;
}

void _srand(u32 seed) {
    global_next = seed;
}

u32 _randu32(void) {
    nextrand();
    return global_next;
}

Вам не нужен сверхсекурный рандом, этого хватит. По сути это то, что было в gcc до определенной версии.

Исходная версия PPP328, :

#define _RAND_MULTIPLIER (1103515245)
#define _RAND_INCREMENT  (12345)

static u32 global_next = 1;

static void nextrand(void) {
    global_next = global_next * _RAND_MULTIPLIER + _RAND_INCREMENT;
}

void _srand(u32 seed) {
    global_next = seed;
}

u32 _randu32(void) {
    nextrand();
    return global_next;
}

Вам не нужен сверхсекурный рандом, этого хватит. По сути это то, что было в gcc то определенной версии.