let signe = function (x:float) ->
 match x with
 | y when y > 0. -> 1.
 | y when y < 0. -> -1.
 | _ -> 0.