Запаздывающие генераторы Фибоначчи (subtract_with_carry_engine)

222
09 июня 2019, 10:20

Дали мне задание написать написать генератор случайных чисел методом фибоначчи с запаздыванием.
Я нашёл, что subtract_with_carry_engine как раз то что мне нужно. Но я не могу понять, как он работает! Т.е. в теории, почитав википедию(и мою методичку), метод вроде бы понятен, но не понятно как работает именно subtract_with_carry_engine! Как его использовать для получения:

  1. чисел из определённого диапазона
  2. как задать период генератора
#include <iostream>
#include <random>
using namespace std;
int main()
{
    int E, R;
    cin >> E;
    cin >> R;
    subtract_with_carry_engine<unsigned, 24, 51, 110> g1(E);

    subtract_with_carry_engine<unsigned, 13, 51, 100> g2(R); 

    cout << "Your seed produced: " << g1() << endl;
    cout << "Your seed produced: " << g2() << endl;

    system("pause");
    return 0;
}

Я не понимаю как изменяются получаемые числа, если например я меняю "unsigned, 13, 51, 100", на "unsigned, 16, 40, 70".

READ ALSO
Variadic templates передача и возврат по ссылке

Variadic templates передача и возврат по ссылке

Возможно ли при передаче пака параметров принять его по ссылке и что-то изменить в одном из параметров?

124
Два MPI_Bcast путают сообщения друг друга

Два MPI_Bcast путают сообщения друг друга

Задали нам на дом найти факториал 16!, используя MPIВсё хорошо считается до тех пор, пока два MPI_Bcast не начинают отправлять сообщения всем потокам

139
промахи в кэш L2 и попадание в кэш L3

промахи в кэш L2 и попадание в кэш L3

подскажите пожалуйста, на каком примере можно рассмотреть промахи в кэш L2 и попадание в кэш L3? я не могу найти примеров на c++, где на конкретном...

125