1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 6<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css"> 9<title>MTXConcatArray</title> 10</head> 11 12<body> 13 14<h1 align="left">MTXConcatArray</h1> 15 16<h2 align="left">Syntax</h2> 17<dl><dd><pre class="construction"> 18#include <revolution/mtx.h> 19 20void C_MTXConcatArray ( 21 const Mtx a, 22 const Mtx* srcBase, Mtx* dstBase, 23 u32 count ); 24void PSMTXConcatArray ( 25 const Mtx a, 26 const Mtx* srcBase, Mtx* dstBase, 27 u32 count ); 28 29#define MTXConcatArray C_MTXConcatArray // for debug build 30#define MTXConcatArray PSMTXConcatArray // for nondebug build 31</pre></dd></dl> 32 33<h2 align="left">Arguments</h2> 34<TABLE class="arguments" border="1" > 35 <tr> 36<TH>a</TH> 37<TD>First matrix to multiply. The type of <SPAN class="argument">a</SPAN> may be either <CODE>Mtx</CODE> or <CODE>MtxPtr</CODE>.</TD> 38 </tr> 39 <tr> 40<TH>srcBase</TH> 41<TD>Pointer to first matrix of source matrix array for multiply. (As second matrix for each concatenation.)</TD> 42 </tr> 43 <tr> 44<TH>dstBase</TH> 45<TD>Pointer to first matrix of destination matrix array.</TD> 46 </tr> 47 <tr> 48<TH>count</TH> 49<TD>Number of contiguous array elements to multiply. <SPAN class="argument">count</SPAN> must be greater than 1.</TD> 50 </tr> 51</TABLE> 52 53<P>OK if <SPAN class="argument">srcBase</SPAN> = <SPAN class="argument">dstBase</SPAN>. However, the condition of <SPAN class="argument">srcBase</SPAN> < <SPAN class="argument">dstBase</SPAN> < (<SPAN class="argument">srcBase</SPAN> + <SPAN class="argument">count</SPAN> - 1) must be avoided.</P> 54 55<h2 align="left">Return Values</h2> 56<P>None.</P> 57 58<h2 align="left">Description</h2> 59<P>Performs matrix concatenation for arrays. Multiplies (<SPAN class="argument">a</SPAN> x <SPAN class="argument">srcBase[n]</SPAN>) and places the result in <SPAN class="argument">dstBase[n]</SPAN> (0 ≦ <CODE>n</CODE> < <SPAN class="argument">count</SPAN>). Matrices are treated as row-major for multiplication purposes.</P> 60<P>For arrays of matrices, this function is more efficient than calling <a href="MTXConcat.html"><code>MTXConcat</code></a> in a loop; this saves the overhead of repeated function calls.</P> 61<P>During a debug build, <code>MTXConcatArray</code> is interpreted as <code>C_MTXConcatArray</code>, which is a normal C-language version. During a non-debug build for a Broadway processor, the paired-singles equivalent of this function, <CODE>PSMTXConcatArray</CODE>, is automatically substituted. You can also call each of <code>C_MTXConcatArray/PSMTXConcatArray</code> explicitly.</P> 62<P><B>Note:</B> Some calculation errors may be expected between the C version and paired-single version because of processing order differences.<BR>In the case of the paired-single version, calculation results are not guaranteed when the array given includes undefined values for the translation component.</P> 63 64<h2 align="left">See Also</h2> 65<P> 66<a href="../structures/Mtx_MtxPtr.html"><CODE>Mtx</CODE>, <CODE>MtxPtr</CODE></a><BR> <a href="MTXConcat.html"><CODE>MTXConcat</CODE></a> 67</p> 68 69<H2>Revision History</H2> 70<P> 712009/02/10 Added a note regarding calculation results of the paired-single version.<br>2006/03/01 Initial version. 72</P> 73 74<hr><p>CONFIDENTIAL</p></body> 75</html>