An open API service indexing awesome lists of open source software.

https://github.com/ravbug/randoms

Collection of terrible random functions
https://github.com/ravbug/randoms

Last synced: 10 months ago
JSON representation

Collection of terrible random functions

Awesome Lists containing this project

README

          

# randoms
This repository contains terrible random functions I have written.

It currently contains the following algorithms
1. RAM Random (aka RAMdom), an undefined behavior based random algorithm (C)
2. RAM Random 2 (aka RAMdom2), a far leaner version of RAMdom
2. DevRandom (aka devrand), a randomizer that uses `/dev/random` (C)
3. msrand, a poor implementation of the middle-squared method

RAMdom distribution chart
```
1: ***
2:
3: *****
4: ****
5: **
6:
7: *
8: ***
9: ***
10: *
11:
12: **
13: **
14: ****
15: ****
16: *
17:
18: **
19: *****
20: *
21:
22: ***
23: ******
24:
25: *
26: *
27:
28: ****
29: **
30:
31: *
32: **
33: ***
34:
35: *
36: **
37: *
38: ***
39: **
40: *
41: *
42: *******
43: **
44: **
45:
46: **
47: ******
48:
49: *
50: *
51: ****
52: ****
53: *
54:
55: *
56: ******
57: **
58: ****
59: ****
60: ***
61: *******
62: *
63:
64:
65: ***
66: *****
67: *
68: ***
69: **
70: ********
71: ****
72: **
73: *****
74: **
75: ******
76: **
77: *******
78:
79: *
80: ******
81: ***
82: *
83: *
84: ****
85: ****
86: **
87: **
88: **
89: *****
90: *******
91: ****
92: **
93: ****
94: ****
95: ***
96: ****
97:
98: *
99: *****
```

## Usage
You will need:
1. make
2. a C compiler

To run the sample program, run in terminal: ```make && ./main```

Clean: ```make clean```