chiark
/
gitweb
/
~ian
/
sgt-puzzles.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Implemented text and clipping primitives in the frontend, and added
[sgt-puzzles.git]
/
misc.c
1
/*
2
* misc.c: Miscellaneous helpful functions.
3
*/
4
5
#include <assert.h>
6
#include <stdlib.h>
7
8
#include "puzzles.h"
9
10
int rand_upto(int limit)
11
{
12
unsigned long divisor = RAND_MAX / (unsigned)limit;
13
unsigned long max = divisor * (unsigned)limit;
14
unsigned long n;
15
16
assert(limit > 0);
17
18
do {
19
n = rand();
20
} while (n >= max);
21
22
n /= divisor;
23
24
return (int)n;
25
}