sig   type t   val dim : int   type m   val comp : int -> Gg.V.t -> float   val zero : Gg.V.t   val infinity : Gg.V.t   val neg_infinity : Gg.V.t   val basis : int -> Gg.V.t   val neg : Gg.V.t -> Gg.V.t   val add : Gg.V.t -> Gg.V.t -> Gg.V.t   val sub : Gg.V.t -> Gg.V.t -> Gg.V.t   val mul : Gg.V.t -> Gg.V.t -> Gg.V.t   val div : Gg.V.t -> Gg.V.t -> Gg.V.t   val smul : float -> Gg.V.t -> Gg.V.t   val half : Gg.V.t -> Gg.V.t   val dot : Gg.V.t -> Gg.V.t -> float   val norm : Gg.V.t -> float   val norm2 : Gg.V.t -> float   val unit : Gg.V.t -> Gg.V.t   val homogene : Gg.V.t -> Gg.V.t   val mix : Gg.V.t -> Gg.V.t -> float -> Gg.V.t   val ltr : Gg.V.m -> Gg.V.t -> Gg.V.t   val ( + ) : Gg.V.t -> Gg.V.t -> Gg.V.t   val ( - ) : Gg.V.t -> Gg.V.t -> Gg.V.t   val ( * ) : float -> Gg.V.t -> Gg.V.t   val ( / ) : Gg.V.t -> float -> Gg.V.t   val map : (float -> float) -> Gg.V.t -> Gg.V.t   val mapi : (int -> float -> float) -> Gg.V.t -> Gg.V.t   val fold : ('-> float -> 'a) -> '-> Gg.V.t -> 'a   val foldi : ('-> int -> float -> 'a) -> '-> Gg.V.t -> 'a   val iter : (float -> unit) -> Gg.V.t -> unit   val iteri : (int -> float -> unit) -> Gg.V.t -> unit   val for_all : (float -> bool) -> Gg.V.t -> bool   val exists : (float -> bool) -> Gg.V.t -> bool   val equal : Gg.V.t -> Gg.V.t -> bool   val equal_f : (float -> float -> bool) -> Gg.V.t -> Gg.V.t -> bool   val compare : Gg.V.t -> Gg.V.t -> int   val compare_f : (float -> float -> int) -> Gg.V.t -> Gg.V.t -> int   val pp : Format.formatter -> Gg.V.t -> unit   val pp_f :     (Format.formatter -> float -> unit) -> Format.formatter -> Gg.V.t -> unit end