MTXConcatArray

Syntax

#include <revolution/mtx.h>

void C_MTXConcatArray (
        const  Mtx a, 
        const  Mtx* srcBase, Mtx* dstBase,
        u32 count );
void PSMTXConcatArray (
        const  Mtx a, 
        const  Mtx* srcBase, Mtx* dstBase,
        u32 count );

#define MTXConcatArray C_MTXConcatArray // for debug build
#define MTXConcatArray PSMTXConcatArray // for nondebug build

Arguments

a First matrix to multiply. The type of a may be either Mtx or MtxPtr.
srcBase Pointer to first matrix of source matrix array for multiply. (As second matrix for each concatenation.)
dstBase Pointer to first matrix of destination matrix array.
count Number of contiguous array elements to multiply. count must be greater than 1.

OK if srcBase = dstBase. However, the condition of srcBase < dstBase < (srcBase + count - 1) must be avoided.

Return Values

None.

Description

Performs matrix concatenation for arrays. Multiplies (a x srcBase[n]) and places the result in dstBase[n] (0 ≦ n < count). Matrices are treated as row-major for multiplication purposes.

For arrays of matrices, this function is more efficient than calling MTXConcat in a loop; this saves the overhead of repeated function calls.

During a debug build, MTXConcatArray is interpreted as C_MTXConcatArray, which is a normal C language version. During a non-debug build for a Broadway processor, the paired-singles equivalent of this function, PSMTXConcatArray, will be automatically substituted. You can also call each of C_MTXConcatArray/PSMTXConcatArray explicitly.

Note: Because of processing order differences, some calculation errors may be expected between the C version and the paired-single version.

See Also

Mtx, MtxPtr, MTXConcat

Revision History

2006/03/01 Initial version.


CONFIDENTIAL