Skip to content

shz_mat4x4_mult_unaligned

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

Multiplies two 4x4 matrices together, with the right handed matrix being unaligned, storing the result into a third.

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)
  • 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:639
  • Module: Matrix, section "Transforming"