Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- defmodule RangeMap do
- def to_function(in_min, in_max, out_min, out_max) do
- difference_in = in_max - in_min
- difference_out = out_max - out_min
- factor = difference_out / difference_in
- midpoint_in = (in_min + in_max) / 2
- midpoint_out = (out_min + out_max) / 2
- constant = midpoint_out - midpoint_in
- fn input ->
- input * factor + constant
- end
- end
- def map(input, input_min, input_max, output_min, output_max) do
- factor = (output_max - output_min) / (input_max - input_min)
- constant = (output_min + output_max) / 2 - (input_min + input_max) / 2
- input * factor + constant
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement