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 &lt;revolution/mtx.h&gt;
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> &lt; <SPAN class="argument">dstBase</SPAN> &lt; (<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 &#x2266; <CODE>n</CODE> &lt; <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>