sig
type t = float * float
val to_string : Math.Vector.t -> string
val ( ~< ) : Math.Vector.t -> float
val ( ~> ) : Math.Vector.t -> float
val create : float -> float -> Math.Vector.t
val of_tuple : float * float -> Math.Vector.t
val of_angle : float -> Math.Vector.t
val mag : Math.Vector.t -> float
val mag_sq : Math.Vector.t -> float
val add : Math.Vector.t -> Math.Vector.t -> Math.Vector.t
val sub : Math.Vector.t -> Math.Vector.t -> Math.Vector.t
val mult : Math.Vector.t -> float -> Math.Vector.t
val div : Math.Vector.t -> float -> Math.Vector.t
val dist : Math.Vector.t -> Math.Vector.t -> float
val dot : Math.Vector.t -> Math.Vector.t -> float
val norm : Math.Vector.t -> Math.Vector.t
val with_mag : Math.Vector.t -> float -> Math.Vector.t
val limit : Math.Vector.t -> float -> Math.Vector.t
val heading : Math.Vector.t -> float
val rotate : Math.Vector.t -> float -> Math.Vector.t
val lerp : Math.Vector.t -> Math.Vector.t -> float -> Math.Vector.t
val angle_between : Math.Vector.t -> Math.Vector.t -> float
val project : Math.Vector.t -> Math.Vector.t -> Math.Vector.t
val ( ++ ) : Math.Vector.t -> Math.Vector.t -> Math.Vector.t
val ( -- ) : Math.Vector.t -> Math.Vector.t -> Math.Vector.t
val ( *** ) : Math.Vector.t -> float -> Math.Vector.t
val ( // ) : Math.Vector.t -> float -> Math.Vector.t
val ( **. ) : Math.Vector.t -> Math.Vector.t -> float
val ( ~|| ) : Math.Vector.t -> float
end