sig
type t = float * float * float * float
val q : float -> float -> float -> float -> AGeom.Quaternion.t
val real : AGeom.Quaternion.t -> float
val imag : AGeom.Quaternion.t -> float * float * float
val of_scalar : float -> AGeom.Quaternion.t
val to_list : AGeom.Quaternion.t -> float list
val of_list : float list -> AGeom.Quaternion.t
val add : AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val sub : AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val div : AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val mul : AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val addr : AGeom.Quaternion.t -> float -> AGeom.Quaternion.t
val radd : float -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val rsub : float -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val subr : AGeom.Quaternion.t -> float -> AGeom.Quaternion.t
val rmul : float -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val mulr : AGeom.Quaternion.t -> float -> AGeom.Quaternion.t
val norm : AGeom.Quaternion.t -> float
val conj : AGeom.Quaternion.t -> AGeom.Quaternion.t
val neg : AGeom.Quaternion.t -> AGeom.Quaternion.t
val unit : AGeom.Quaternion.t -> AGeom.Quaternion.t
val reciprocal : AGeom.Quaternion.t -> AGeom.Quaternion.t
val length : AGeom.Quaternion.t -> float
val to_string : AGeom.Quaternion.t -> string
val of_string : string -> AGeom.Quaternion.t
module Infix :
sig
val ( + ) :
AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val ( - ) :
AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val ( * ) :
AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val ( / ) :
AGeom.Quaternion.t -> AGeom.Quaternion.t -> AGeom.Quaternion.t
val ( ~. ) : AGeom.Quaternion.t -> AGeom.Quaternion.t
val ( |. ) : AGeom.Quaternion.t -> float
end
end