3x3 matrices, a straight-forward copy of libalg-4.h.
Useful for color computations and 2-D geometry.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
linalg-types.h can be used from e.g. libweston.h so that structures can
embed linalg types but without forcing every user of libweston.h to
compile all the inline functions.
weston_mat4f implements most of weston_matrix, and some more. This is
just for starters. Implementing weston_mat3fwill be essentially a copy
of all this.
The matrix inversion is a copy from weston_matrix with a little bit of
clean-up.
The goal is to create a more intuitive libear algebra API, that is easy
to extend to 3x3 matrices and 3-vectors, eventually superseding all
existing matrix code: weston_matrix, calls to LittleCMS matrix
routines (plugin API), and ad hoc matrix code in tests/.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>