MTXConcatArray

C Specification

    #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 for multiply. a may be either a Mtx or a 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 should be greater than 1.

OK if srcBase=dstBase.But the condition 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 as it 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 nondebug build for a Broadway processor, the paired-singles equivalent of this function, PSMTXConcatArray, will be automatically substituted. You can also call C_MTXConcatArray or PSMTXConcatArray explicitly.

Note: Some calculation errors may be expected between C version and paired-single version because of processing order differences.

See Also

Mtx, MtxPtr, MTXConcat

Revision History

03/01/2006 Initial version.