annotate doodle/core/misc.d @ 77:15ca7d5cd1ed

The rulers are broken
author "David Bryant <bagnose@gmail.com>"
date Sun, 15 Aug 2010 01:36:22 +0930
parents 31d10176415d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67
31d10176415d Checkpoint
daveb
parents:
diff changeset
1 module doodle.core.misc;
31d10176415d Checkpoint
daveb
parents:
diff changeset
2
31d10176415d Checkpoint
daveb
parents:
diff changeset
3 // Basic routines.
31d10176415d Checkpoint
daveb
parents:
diff changeset
4 // Note, most of these are probably provided by phobos.
31d10176415d Checkpoint
daveb
parents:
diff changeset
5
31d10176415d Checkpoint
daveb
parents:
diff changeset
6 double min(in double a, in double b) {
31d10176415d Checkpoint
daveb
parents:
diff changeset
7 return a < b ? a : b;
31d10176415d Checkpoint
daveb
parents:
diff changeset
8 }
31d10176415d Checkpoint
daveb
parents:
diff changeset
9
31d10176415d Checkpoint
daveb
parents:
diff changeset
10 double max(in double a, in double b) {
31d10176415d Checkpoint
daveb
parents:
diff changeset
11 return a > b ? a : b;
31d10176415d Checkpoint
daveb
parents:
diff changeset
12 }
31d10176415d Checkpoint
daveb
parents:
diff changeset
13
31d10176415d Checkpoint
daveb
parents:
diff changeset
14 double clamp(in double v, in double min, in double max) {
31d10176415d Checkpoint
daveb
parents:
diff changeset
15 assert(min < max);
31d10176415d Checkpoint
daveb
parents:
diff changeset
16
31d10176415d Checkpoint
daveb
parents:
diff changeset
17 if (v < min) { return min; }
31d10176415d Checkpoint
daveb
parents:
diff changeset
18 else if (v > max) { return max; }
31d10176415d Checkpoint
daveb
parents:
diff changeset
19 else { return v; }
31d10176415d Checkpoint
daveb
parents:
diff changeset
20 }
77
15ca7d5cd1ed The rulers are broken
"David Bryant <bagnose@gmail.com>"
parents: 67
diff changeset
21
15ca7d5cd1ed The rulers are broken
"David Bryant <bagnose@gmail.com>"
parents: 67
diff changeset
22 // wrap?