Module AGeom.Quaternion

module Quaternion: sig .. end

type t = float * float * float * float 
val q : float -> float -> float -> float -> t
val real : t -> float
val imag : t -> float * float * float
val of_scalar : float -> t
val to_list : t -> float list
val of_list : float list -> t
val add : t -> t -> t
val sub : t -> t -> t
val div : t -> t -> t
val mul : t -> t -> t
multiply 2 quaternions
val addr : t -> float -> t
val radd : float -> t -> t
val rsub : float -> t -> t
val subr : t -> float -> t
val rmul : float -> t -> t
val mulr : t -> float -> t
multiply a quaternions by a number
val norm : t -> float
val conj : t -> t
conjugate
val neg : t -> t
negative
val unit : t -> t
val reciprocal : t -> t
val length : t -> float
val to_string : t -> string
val of_string : string -> t
module Infix: sig .. end