# shz_mat3x3_transpose

Source: https://sh4zam.com/api/matrix/shz_mat3x3_transpose/

> Stores the transpose of 3x3 matrix mat within out

```c
SHZ_INLINE void shz_mat3x3_transpose(const shz_mat3x3_t* mat, shz_mat3x3_t* out) SHZ_NOEXCEPT;
```

Stores the transpose of 3x3 matrix `mat` within `out`.

## Parameters

| Name | Type | Description |
| --- | --- | --- |
| `mat` | `const shz_mat3x3_t *` | Pointer to the 3x3 matrix to transpose. |
| `out` | `shz_mat3x3_t *` | Pointer to the resulting transposed matrix. |

## Returns

Nothing (`void`).

## Warnings

- This routine clobbers XMTRX.

## Naming and requirements

- `_transpose`: Operates with the transposed matrix (row-major input, or inverse-rotation use). ([Naming and Suffixes](https://sh4zam.com/concepts/naming-and-suffixes/))

## Availability

- **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:947`](https://github.com/gyrovorbis/sh4zam/blob/ba1e30c88d49df0311870b229e1dd860ef26c477/include/sh4zam/shz_matrix.h#L947)
- **Module:** [Matrix](https://sh4zam.com/api/matrix/), section "Functions"
