more unit conversions

This commit is contained in:
Felix Ruess
2011-11-30 19:01:40 +01:00
parent bc10ef7196
commit b8c587e180
2 changed files with 10 additions and 3 deletions
+9 -3
View File
@@ -45,9 +45,15 @@ let floats_not_equal = fun f1 f2 ->
(* Unit conversions *) (* Unit conversions *)
let scale_of_units = fun u1 u2 -> let scale_of_units = fun u1 u2 ->
match u1, u2 with match (u1, u2) with
"deg", "rad" -> 180. /. Latlong.pi ("deg", "rad") | ("deg/s", "rad/s") -> 180. /. Latlong.pi
| "rad", "deg" -> Latlong.pi /. 180. | ("rad", "deg") | ("rad/s", "deg/s") -> Latlong.pi /. 180.
| ("m", "cm") | ("m/s", "cm/s") -> 100.
| ("cm", "m") | ("cm/s", "m/s") -> 0.01
| ("m", "mm") | ("m/s", "mm/s") -> 1000.
| ("mm", "m") | ("mm/s", "m/s") -> 0.001
| ("decideg", "deg") -> 0.1
| ("deg", "decideg") -> 10.
| u1, u2 when u1 = u2 -> 1. | u1, u2 when u1 = u2 -> 1.
| _ -> invalid_arg (Printf.sprintf "SaveSettings.scale_of_units %s %s" u1 u2) | _ -> invalid_arg (Printf.sprintf "SaveSettings.scale_of_units %s %s" u1 u2)
+1
View File
@@ -171,6 +171,7 @@ let alt_unit_coef_of_xml = function xml ->
| ("m", "mm") | ("m/s", "mm/s") -> "1000." | ("m", "mm") | ("m/s", "mm/s") -> "1000."
| ("mm", "m") | ("mm/s", "m/s") -> "0.001" | ("mm", "m") | ("mm/s", "m/s") -> "0.001"
| ("decideg", "deg") -> "0.1" | ("decideg", "deg") -> "0.1"
| ("deg", "decideg") -> "10."
| (_, _) -> "1." | (_, _) -> "1."
let pipe_regexp = Str.regexp "|" let pipe_regexp = Str.regexp "|"