Skip to content

shz_mat4x4_mult_transpose_unaligned

Markdown
SHZ_INLINE void shz_mat4x4_mult_transpose_unaligned(shz_mat4x4_t* mat, const shz_mat4x4_t* lhs, const float rhs[16]) SHZ_NOEXCEPT;

Multiplies the regular matrix, lhs, by the transpose of the unaligned matrix, rhs, storing the result into mat.

NameTypeDescription
matshz_mat4x4_t *
lhsconst shz_mat4x4_t *
rhsconst float [16]

Nothing (void).

  • This routine clobbers XMTRX.
  • _unaligned: Works on matrix data that is not 8-byte aligned, passed as a plain float[16]. The default routines use 64-bit paired FMOV loads that need 8-byte alignment. (Naming and Suffixes)
  • _transpose: Operates with the transposed matrix (row-major input, or inverse-rotation use). (Naming and Suffixes)
  • shz_mat4x4_t and shz_mat2x2_t arguments must be 8-byte aligned. Unaligned data goes through the float[16] parameters of the _unaligned routines.
  • C++ equivalent: none (call the C function from C++)
  • Type-generic form: none
  • Back-ends: SH4: shared C implementation · SW: portable C · SPU: shared C implementation
  • Defined in: sh4zam/shz_matrix.h:651
  • Module: Matrix, section "Transforming"