RosettaCodeData/Task/Map-range/Crystal/map-range.cr
2026-04-30 12:34:36 -04:00

10 lines
217 B
Crystal

def map_range (s, from, to)
a1, a2 = from.begin, from.end
b1, b2 = to.begin, to.end
b1 + ( (s - a1) * (b2 - b1) ) / (a2 - a1)
end
(0..10).each do |i|
printf " %2d -> %g\n", i, map_range(i, 0..10, -1..0)
end