14 lines
348 B
D
14 lines
348 B
D
double mapRange(in double[] a, in double[] b, in double s)
|
|
pure nothrow @nogc {
|
|
return b[0] + ((s - a[0]) * (b[1] - b[0]) / (a[1] - a[0]));
|
|
}
|
|
|
|
void main() {
|
|
import std.stdio;
|
|
|
|
immutable r1 = [0.0, 10.0];
|
|
immutable r2 = [-1.0, 0.0];
|
|
foreach (immutable s; 0 .. 11)
|
|
writefln("%2d maps to %5.2f", s, mapRange(r1, r2, s));
|
|
}
|