MTXConcat

C Specification

    #include <revolution/mtx.h>

    void C_MTXConcat ( const Mtx a, const Mtx b, Mtx ab );
    void PSMTXConcat ( const Mtx a, const Mtx b, Mtx ab );

    #define MTXConcat C_MTXConcat // for debug build
    #define MTXConcat PSMTXConcat // for nondebug build

Arguments

a First matrix for multiply.   a may be either an Mtx or an MtxPtr.
b   Second matrix for multiply.   b may be either an Mtx or an MtxPtr.
ab   Resultant concatenated matrix ( a x b ). ( ab may be either an Mtx or an MtxPtr.
ab can be the same as a or b.

Return Values

None.

Description

Multiplies ( a x b ) and places the result in ab. Matrices are treated as row-major for multiplication purposes:

Element [row][col] of aba [row] x b[col]

During a debug build, MTXConcat is interpreted as C_MTXConcat, which is a normal C language version. During a nondebug build for a Broadway processor, the paired-singles equivalent of this function, PSMTXConcat, will be automatically substituted. You can also call C_MTXConcat or PSMTXConcat explicitly.

Note 1: The C version of this function becomes faster if ab does not equal either a or b since it reduces a copy operation from the temporary local matrix.

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

See Also

Mtx, MtxPtr,MTXPush, MTXPushFwd, MTXPushInv, MTXPushInvXpose

Revision History

03/01/2006 Initial version.