MTXConcat

Syntax

#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 to multiply. The type of a may be either Mtx or MtxPtr.
b Second matrix to multiply. The type of b may be either Mtx or MtxPtr.
ab Resultant concatenated matrix (a x b). The type of ab may be either Mtx or MtxPtr. Okay if ab = a or ab = 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 and PSMTXConcat explicitly.

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

Note 2: Some calculation errors may be expected between the C version and paired-single version because of processing order differences.
In the case of the paired-single version, calculation results are not guaranteed when the array given includes undefined values for the translation component.

See Also

Mtx, MtxPtr
MTXPush
MTXPushFwd
MTXPushInv
MTXPushInvXpose

Revision History

2009/02/10 Added a note regarding calculation results of the paired-single version.
2006/03/01 Initial version.


CONFIDENTIAL