Gg.M22D square matrices.
type t = m2The type for 2D square matrices.
type v = v2The type for rows and columns as vectors.
val v : float -> float -> float -> float -> m2v e00 e01 e10 e11 is a matrix whose components are specified in row-major order
val el : int -> int -> m2 -> floatel i j a is the element aij. See also the direct element accessors.
Raises Invalid_argument if i or j is not in [0;dim[.
row i a is the ith row of a.
Raises Invalid_argument if i is not in [0;dim[.
col j a is the jth column of a.
Raises Invalid_argument if j is not in [0;dim[.
mul a b is the matrix multiplication a * b.
val trace : m2 -> floattrace a is the matrix trace trace(a).
val det : m2 -> floatdet a is the determinant |a|.
inv a is the inverse matrix a-1.
val rot2 : float -> m2rot2 theta rotates 2D space around the origin by theta radians.
mapi f a is like map but the element indices are also given.
val fold : ('a -> float -> 'a) -> 'a -> m2 -> 'afold f acc a is f (...(f (f acc a00) a10)...).
val foldi : ('a -> int -> int -> float -> 'a) -> 'a -> m2 -> 'afoldi f acc a is f (...(f (f acc 0 0 a00) 1 0 a10)...).
val iter : (float -> unit) -> m2 -> unititer f a is f a00; f a10; ...
val iteri : (int -> int -> float -> unit) -> m2 -> unititeri f a is f 0 0 a00; f 1 0 a10; ...
val for_all : (float -> bool) -> m2 -> boolfor_all p a is p a00 && p a10 && ...
val exists : (float -> bool) -> m2 -> boolexists p a is p a00 || p a10 || ...
equal_f eq a b tests a and b like equal but uses eq to test floating point values.
compare a b is Stdlib.compare a b. That is lexicographic comparison in column-major order.
compare_f cmp a b compares a and b like compare but uses cmp to compare floating point values.
val pp : Stdlib.Format.formatter -> m2 -> unitpp ppf a prints a textual representation of a on ppf.
val pp_f :
(Stdlib.Format.formatter -> float -> unit) ->
Stdlib.Format.formatter ->
m2 ->
unitpp_f pp_e ppf a prints a like pp but uses pp_e to print floating point values.
val e00 : m2 -> floatval e01 : m2 -> floatval e10 : m2 -> floatval e11 : m2 -> float