12 lines
314 B
OCaml
12 lines
314 B
OCaml
let map_range (a1, a2) (b1, b2) =
|
|
let v = (b2 -. b1) /. (a2 -. a1) in
|
|
function s ->
|
|
b1 +. ((s -. a1) *. v)
|
|
|
|
let () =
|
|
print_endline "Mapping [0,10] to [-1,0] at intervals of 1:";
|
|
let p = (map_range (0.0, 10.0) (-1.0, 0.0)) in
|
|
for i = 0 to 10 do
|
|
Printf.printf "f(%d) = %g\n" i (p (float i))
|
|
done
|