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 : ('a -> float -> 'a) -> 'a -> Gg.V.t -> 'a
val foldi : ('a -> int -> float -> 'a) -> '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 to_string : Gg.V.t -> string
val pp : Format.formatter -> Gg.V.t -> unit
val pp_f :
(Format.formatter -> float -> unit) -> Format.formatter -> Gg.V.t -> unit
end