1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META name="GENERATOR" content="Microsoft FrontPage 5.0">
6<META http-equiv="Content-Style-Type" content="text/css">
7<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css">
8<TITLE>VECDotProduct</TITLE>
9</HEAD>
10<BODY>
11<H1 align="left">VECDotProduct</H1>
12<H2 align="left">C Specification</H2>
13<BLOCKQUOTE><CODE><CODE>#include &lt;revolution/mtx.h&gt;</CODE></CODE></BLOCKQUOTE>
14<BLOCKQUOTE><CODE><CODE>f32 C_VECDotProduct ( const Vec* <EM>a</EM>, const Vec* <EM>b</EM> );<BR> f32 PSVECDotProduct ( const Vec* <EM>a</EM>, const Vec* <EM>b</EM> );<BR> <BR> #define VECDotProduct&nbsp; C_VECDotProduct // for debug build<BR> #define VECDotProduct&nbsp; PSVECDotProduct // for nondebug build</CODE></CODE></BLOCKQUOTE>
15<H2 align="left">Arguments</H2>
16<DIV align="left">
17<TABLE border="1" cellpadding="3" cellspacing="0.1">
18  <TBODY>
19    <TR>
20<TD width="120" bgcolor="#ffffe8"><CODE><STRONG><EM>a</EM></STRONG></CODE></TD>
21<TD width="520" valign="top" align="left">Pointer to first <CODE><A href="../structures/Vec_VecPtr.html">Vec</A></CODE>.&nbsp;<em><strong><code>a</code></strong></em> is not altered by this function.</TD>
22    </TR>
23    <TR>
24<TD width="120" bgcolor="#ffffe8"><CODE><STRONG><EM><em><strong><code>b</code></strong></em>&nbsp;&nbsp;</EM></STRONG></CODE></TD>
25<TD width="520">Pointer to second <CODE><A href="../structures/Vec_VecPtr.html">Vec</A></CODE>.&nbsp;&nbsp;<code><em><strong>b</strong></em></code> is not altered by this function.</TD>
26    </TR>
27  </TBODY>
28</TABLE>
29</DIV>
30<H2 align="left">Return Values</H2>
31<P align="left">Dot product of <code><em><strong>a</strong></em></code> and <code><em><strong>b</strong></em></code>.</P>
32<H2 align="left">Description</H2>
33<P>Finds the inner product of two vectors. <CODE><STRONG><EM>a</EM></STRONG></CODE> and <CODE><STRONG><EM>b</EM></STRONG></CODE> do not need to be unit vectors and are not normalized inside this function. In order to use <CODE>VECDotProduct</CODE> to calculate the cosine directly, <CODE><STRONG><EM>a</EM></STRONG></CODE> and <CODE><STRONG><EM>b</EM></STRONG></CODE> must be normalized before calling this routine. </P>
34<P>During a debug build, <code>VECDotProduct</code> is interpreted as <code>C_VECDotProduct</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>PSVECDotProduct</code>, will be automatically substituted. You can also call <code>C_VECDotProduct</CODE> or <CODE>PSVECDotProduct</code> explicitly.</P>
35
36
37<H2 align="left">See Also</H2>
38<P align="left"><A href="../structures/Vec_VecPtr.html"><CODE>Vec, VecPtr, </CODE></A><A href="VECCrossProduct.html"><CODE>VECCrossProduct</CODE></A></P>
39<H2>Revision History</H2>
40<P>2006/03/01 Initial version.</P>
41<hr>
42<P>CONFIDENTIAL</p>
43</BODY>
44</HTML>