summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/asg.h
blob: b4706beafcdd90d8ebb8f8a4ee1b9f86ef794b3d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef __LIB_RNG_ASG_HEADER__
#define __LIB_RNG_ASG_HEADER__

#include <stack>
class AsgKISS
{
    public:
        AsgKISS();
        AsgKISS(uint32_t init_key[], int key_length);
        uint32_t get_uint32();
    private:
        uint32_t m_lcg, m_mwcm, m_mwcc, m_xorshift, m_lfsr;
};

uint32_t get_uint32(int generator = 0);
void seed_asg(uint32_t[], int);
#endif