Data Structures | Typedefs | Functions
2x2 Matrices in floating point

Matrix definition and operations. More...

Data Structures

struct  _Eina_Matrix2
 
struct  Eina_Matrix2
 Floating point matrix2 handler. More...
 

Typedefs

typedef struct _Eina_Matrix2 Eina_Matrix2
 Floating point matrix2 handler.
 

Functions

EAPI void eina_matrix2_values_set (Eina_Matrix2 *m, double xx, double xy, double yx, double yy)
 Sets the values of the coefficients of the given floating point matrix. More...
 
EAPI void eina_matrix2_values_get (const Eina_Matrix2 *m, double *xx, double *xy, double *yx, double *yy)
 Gets the values of the coefficients of the given floating point matrix. More...
 
EAPI void eina_matrix2_inverse (Eina_Matrix2 *out, const Eina_Matrix2 *mat)
 Computes the inverse with check of the given matrix. More...
 
EAPI void eina_matrix2_identity (Eina_Matrix2 *m)
 Sets the given floating point matrix to the identity matrix. More...
 
EAPI void eina_matrix2_array_set (Eina_Matrix2 *m, const double *v)
 Sets array to matrix. More...
 
EAPI void eina_matrix2_copy (Eina_Matrix2 *dst, const Eina_Matrix2 *src)
 Copies matrix. More...
 
EAPI void eina_matrix2_multiply (Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b)
 Multiplies two matrix. More...
 
EAPI void eina_matrix2_multiply_copy (Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b)
 Multiplies two matrix with check. More...
 
EAPI Eina_Matrix_Type eina_matrix2_type_get (const Eina_Matrix2 *m)
 Returns the type of the given floating point matrix. More...
 

Detailed Description

Matrix definition and operations.

Function Documentation

◆ eina_matrix2_values_set()

EAPI void eina_matrix2_values_set ( Eina_Matrix2 m,
double  xx,
double  xy,
double  yx,
double  yy 
)

Sets the values of the coefficients of the given floating point matrix.

Parameters
mThe floating point matrix.
xxThe first coefficient value.
xyThe second coefficient value.
yxThe fourth coefficient value.
yyThe fifth coefficient value.

This function sets the values of the coefficients of the matrix m. No check is done on m.

See also
eina_matrix2_values_get()
Since
1.17

◆ eina_matrix2_values_get()

EAPI void eina_matrix2_values_get ( const Eina_Matrix2 m,
double *  xx,
double *  xy,
double *  yx,
double *  yy 
)

Gets the values of the coefficients of the given floating point matrix.

Parameters
mThe floating point matrix.
xxThe first coefficient value.
xyThe second coefficient value.
yxThe fourth coefficient value.
yyThe fifth coefficient value.

This function gets the values of the coefficients of the matrix m. No check is done on m.

See also
eina_matrix2_values_set()
Since
1.17

◆ eina_matrix2_inverse()

EAPI void eina_matrix2_inverse ( Eina_Matrix2 out,
const Eina_Matrix2 mat 
)

Computes the inverse with check of the given matrix.

Parameters
mThe matrix to inverse.
m2The inverse matrix.

This function inverse the matrix m and stores the result in m2. No check is done on m or m2. If m can not be invertible, then m2 is set to the identity matrix.

Since
1.17

References EINA_DBL_EQ, eina_matrix2_copy(), eina_matrix2_type_get(), and EINA_MATRIX_TYPE_IDENTITY.

◆ eina_matrix2_identity()

EAPI void eina_matrix2_identity ( Eina_Matrix2 m)

Sets the given floating point matrix to the identity matrix.

Parameters
mThe floating point matrix to set

This function sets m to the identity matrix. No check is done on m.

Since
1.17

◆ eina_matrix2_array_set()

EAPI void eina_matrix2_array_set ( Eina_Matrix2 m,
const double *  v 
)

Sets array to matrix.

Parameters
mThe result matrix
vThe the array[4] for set

Set to matrix first 4 elements from array

Since
1.17

◆ eina_matrix2_copy()

EAPI void eina_matrix2_copy ( Eina_Matrix2 dst,
const Eina_Matrix2 src 
)

Copies matrix.

Parameters
dstThe matrix copy
srcThe matrix for copy.
Since
1.17

Referenced by eina_matrix2_inverse(), eina_matrix2_multiply(), and eina_matrix2_multiply_copy().

◆ eina_matrix2_multiply()

EAPI void eina_matrix2_multiply ( Eina_Matrix2 out,
const Eina_Matrix2 mat_a,
const Eina_Matrix2 mat_b 
)

Multiplies two matrix.

Parameters
outThe resulting matrix
aThe first member of the multiplication
bThe second member of the multiplication
Since
1.17

References eina_matrix2_copy(), eina_matrix2_type_get(), and EINA_MATRIX_TYPE_IDENTITY.

Referenced by eina_matrix2_multiply_copy().

◆ eina_matrix2_multiply_copy()

EAPI void eina_matrix2_multiply_copy ( Eina_Matrix2 out,
const Eina_Matrix2 mat_a,
const Eina_Matrix2 mat_b 
)

Multiplies two matrix with check.

Parameters
outThe resulting matrix
aThe first member of the multiplication
bThe second member of the multiplication
Since
1.17

References eina_matrix2_copy(), and eina_matrix2_multiply().

◆ eina_matrix2_type_get()

EAPI Eina_Matrix_Type eina_matrix2_type_get ( const Eina_Matrix2 m)

Returns the type of the given floating point matrix.

Parameters
mThe floating point matrix.
Returns
The type of the matrix.

This function returns the type of the matrix m. No check is done on m.

Since
1.17

References EINA_DBL_EQ, EINA_MATRIX_TYPE_AFFINE, and EINA_MATRIX_TYPE_IDENTITY.

Referenced by eina_matrix2_inverse(), and eina_matrix2_multiply().