Math Library: add dot_m4_v3_row_x/y/z
This commit is contained in:
@@ -120,6 +120,9 @@ MINLINE float mul_project_m4_v3_zfac(float mat[4][4], const float co[3]) ATTR_WA
|
||||
MINLINE float dot_m3_v3_row_x(float M[3][3], const float a[3]) ATTR_WARN_UNUSED_RESULT;
|
||||
MINLINE float dot_m3_v3_row_y(float M[3][3], const float a[3]) ATTR_WARN_UNUSED_RESULT;
|
||||
MINLINE float dot_m3_v3_row_z(float M[3][3], const float a[3]) ATTR_WARN_UNUSED_RESULT;
|
||||
MINLINE float dot_m4_v3_row_x(float M[4][4], const float a[3]) ATTR_WARN_UNUSED_RESULT;
|
||||
MINLINE float dot_m4_v3_row_y(float M[4][4], const float a[3]) ATTR_WARN_UNUSED_RESULT;
|
||||
MINLINE float dot_m4_v3_row_z(float M[4][4], const float a[3]) ATTR_WARN_UNUSED_RESULT;
|
||||
|
||||
MINLINE void madd_v3_v3fl(float r[3], const float a[3], float f);
|
||||
MINLINE void madd_v3_v3v3(float r[3], const float a[3], const float b[3]);
|
||||
|
||||
@@ -450,6 +450,22 @@ MINLINE float dot_m3_v3_row_z(float M[3][3], const float a[3])
|
||||
return M[0][2] * a[0] + M[1][2] * a[1] + M[2][2] * a[2];
|
||||
}
|
||||
|
||||
/**
|
||||
* Almost like mul_m4_v3(), misses adding translation.
|
||||
*/
|
||||
MINLINE float dot_m4_v3_row_x(float M[4][4], const float a[3])
|
||||
{
|
||||
return M[0][0] * a[0] + M[1][0] * a[1] + M[2][0] * a[2];
|
||||
}
|
||||
MINLINE float dot_m4_v3_row_y(float M[4][4], const float a[3])
|
||||
{
|
||||
return M[0][1] * a[0] + M[1][1] * a[1] + M[2][1] * a[2];
|
||||
}
|
||||
MINLINE float dot_m4_v3_row_z(float M[4][4], const float a[3])
|
||||
{
|
||||
return M[0][2] * a[0] + M[1][2] * a[1] + M[2][2] * a[2];
|
||||
}
|
||||
|
||||
MINLINE void madd_v2_v2fl(float r[2], const float a[2], float f)
|
||||
{
|
||||
r[0] += a[0] * f;
|
||||
|
||||
Reference in New Issue
Block a user