fcn mapRange([(a1,a2)], [(b1,b2)], s) // a1a2 is List(a1,a2) { b1 + ((s - a1) * (b2 - b1) / (a2 - a1)) } r1:=T(0.0, 10.0); r2:=T(-1.0, 0.0); foreach s in ([0.0 .. 10]){ "%2d maps to %5.2f".fmt(s,mapRange(r1,r2, s)).println(); }