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 17<h2 align="left">C Specification</h2> 18 19<p align="left"><CODE><code> #include <revolution/mtx.h><br> <br> void C_MTXConcatArray (</code></CODE> <code>const </code><CODE><code> Mtx <em>a</em>, </code></CODE> <code>const </code><CODE><code> Mtx* <em>srcBase</em>, Mtx* <em>dstBase</em>, u32 <em>count</em> );<br> void PSMTXConcatArray (</code></CODE> <code>const </code><CODE><code> Mtx <em>a</em>, </code></CODE> <code>const </code><CODE><code> Mtx* <em>srcBase</em>, Mtx* <em>dstBase</em>, u32 <em>count</em> );<br> <br> #define MTXConcatArray C_MTXConcatArray // for debug build<br> #define MTXConcatArray PSMTXConcatArray // for nondebug build</code></CODE></p> 20<h2 align="left">Arguments</h2> 21<div align="left"> 22<TABLE border="1" cellpadding="3" cellspacing="0.1"> 23 24 <tr> 25<TD width="120" valign="top" align="left" bgcolor="#ffffe8"><em><strong>a</strong></em></TD> 26<TD width="520" valign="top" align="left">First matrix for multiply. <code><em><strong>a</strong></em></code> may be either a <a href="../structures/Mtx_MtxPtr.html"><CODE>Mtx</CODE></a> or a <a href="../structures/Mtx_MtxPtr.html"><CODE>MtxPtr</CODE></a>.</TD> 27 </tr> 28 <tr> 29<TD width="120" valign="top" align="left" bgcolor="#ffffe8"><em><strong>srcBase</strong></em></TD> 30<TD width="520" valign="top" align="left">Pointer to first matrix of source matrix array for multiply. (As second matrix for each concatenation.)</TD> 31 </tr> 32 <tr> 33<TD width="120" valign="top" align="left" bgcolor="#ffffe8"><em><strong>dstBase</strong></em></TD> 34<TD width="520" valign="top" align="left">Pointer to first matrix of destination matrix array.</TD> 35 </tr> 36 <tr> 37<TD width="120" valign="top" align="left" bgcolor="#ffffe8"><em><strong>count</strong></em></TD> 38<TD width="520" valign="top" align="left">Number of contiguous array elements to multiply. <em><strong>count</strong></em> should be greater than 1.</TD> 39 </tr> 40 41</TABLE> 42</div> 43<P>OK if <code><em><strong>srcBase</strong></em>=<strong><em>dstBase</em></strong>.</code>But the condition <code><strong><em>srcBase</em><<em>dstBase</em></strong><(<em><strong>srcBase</strong></em>+<em><strong>count</strong></em>-1)</code>must be avoided.</P> 44<h2 align="left">Return Values</h2> 45<P>None.</P> 46<h2 align="left">Description</h2> 47<P>Performs matrix concatenation for arrays. Multiplies ( <code><em><strong>a</strong></em></code> x <strong><em><code>srcBase[n]</code></em></strong> ) and places the result in <code><strong><em>dstBase[n] </em></strong>(<em><strong>0<n<count</strong></em>)</code>. Matrices are treated as row-major for multiplication purposes.</P> 48<P>For arrays of matrices, this function is more efficient than calling <CODE>MTXConcat</CODE> in a loop as it saves the overhead of repeated function calls.</P> 49<P>During a debug build, <code>MTXConcatArray</code> is interpreted as <code>C_MTXConcatArray</code>, which is a normal C language version. During a nondebug build for a Broadway processor, the paired-singles equivalent of this function, <code>PSMTXConcatArray</code>, will be automatically substituted. You can also call <code>C_MTXConcatArray</CODE> or <CODE>PSMTXConcatArray</code> explicitly.</P> 50<P><B>Note:</B> Some calculation errors may be expected between C version and paired-single version because of processing order differences.</P> 51 52 53<h2 align="left">See Also</h2> 54 55<p align="left"><a href="../structures/Mtx_MtxPtr.html"><CODE>Mtx, MtxPtr</CODE></a>, <a href="MTXConcat.html"><CODE>MTXConcat</CODE></a> 56</p> 57<H2>Revision History</H2> 58<P>03/01/2006 Initial version.</P> 59</body> 60</html>