<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>M4RI: xor.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">M4RI <span id="projectnumber">1.0.1</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#define-members">Defines</a> </div> <div class="headertitle"> <div class="title">xor.h File Reference</div> </div> </div> <div class="contents"> <p>Functions for adding vectors. <a href="#details">More...</a></p> <p><a href="xor_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xor_8h.html#a94e2166fdbf89871612f1032d56b6427">_mzd_combine8</a>(c, t1, t2, t3, t4, t5, t6, t7, t8, wide)   for(ii=0; ii<wide ; ii++) c[ii] ^= t1[ii] ^ t2[ii] ^ t3[ii] ^ t4[ii] ^ t5[ii] ^ t6[ii] ^ t7[ii] ^ t8[ii]</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xor_8h.html#a5e01c493640beb7e299fe4483754bf15">_mzd_combine4</a>(c, t1, t2, t3, t4, wide)   for(ii=0; ii<wide ; ii++) c[ii] ^= t1[ii] ^ t2[ii] ^ t3[ii] ^ t4[ii]</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xor_8h.html#aa3381ee685049363515d4eddcfbdda6c">_mzd_combine2</a>(c, t1, t2, wide)   for(ii=0; ii<wide ; ii++) c[ii] ^= t1[ii] ^ t2[ii]</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5464e9621166db978acdf786460511bd"></a><!-- doxytag: member="xor.h::_MZD_COMBINE" ref="a5464e9621166db978acdf786460511bd" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>_MZD_COMBINE</b>   _mzd_combine4(c, t1, t2, t3, t4, wide)</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Functions for adding vectors. </p> <dl class="author"><dt><b>Author:</b></dt><dd>Martin Albrecht <<a href="mailto:martinralbrecht@googlemail.com">martinralbrecht@googlemail.com</a>></dd></dl> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000017">Todo:</a></b></dt><dd>start counting at 0! </dd></dl> </div><hr/><h2>Define Documentation</h2> <a class="anchor" id="aa3381ee685049363515d4eddcfbdda6c"></a><!-- doxytag: member="xor.h::_mzd_combine2" ref="aa3381ee685049363515d4eddcfbdda6c" args="(c, t1, t2, wide)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _mzd_combine2</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">c, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t1, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t2, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">wide </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   for(ii=0; ii<wide ; ii++) c[ii] ^= t1[ii] ^ t2[ii]</td> </tr> </table> </div> <div class="memdoc"> <p>Compute c[i] += t1[i] + t2[i] for 0 <= i < wide</p> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000020">Todo:</a></b></dt><dd>the non SSE2 version of this code is slow, replace by code from mzd_process_rows2 </dd></dl> </div> </div> <a class="anchor" id="a5e01c493640beb7e299fe4483754bf15"></a><!-- doxytag: member="xor.h::_mzd_combine4" ref="a5e01c493640beb7e299fe4483754bf15" args="(c, t1, t2, t3, t4, wide)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _mzd_combine4</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">c, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t1, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t2, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t3, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t4, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">wide </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   for(ii=0; ii<wide ; ii++) c[ii] ^= t1[ii] ^ t2[ii] ^ t3[ii] ^ t4[ii]</td> </tr> </table> </div> <div class="memdoc"> <p>Compute c[i] += t1[i] + t2[i] + t3[i] + t4[i] for 0 <= i < wide</p> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000019">Todo:</a></b></dt><dd>the non SSE2 version of this code is slow, replace by code from mzd_process_rows4 </dd></dl> </div> </div> <a class="anchor" id="a94e2166fdbf89871612f1032d56b6427"></a><!-- doxytag: member="xor.h::_mzd_combine8" ref="a94e2166fdbf89871612f1032d56b6427" args="(c, t1, t2, t3, t4, t5, t6, t7, t8, wide)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _mzd_combine8</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">c, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t1, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t2, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t3, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t4, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t5, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t6, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t7, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t8, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">wide </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   for(ii=0; ii<wide ; ii++) c[ii] ^= t1[ii] ^ t2[ii] ^ t3[ii] ^ t4[ii] ^ t5[ii] ^ t6[ii] ^ t7[ii] ^ t8[ii]</td> </tr> </table> </div> <div class="memdoc"> <p>Compute c[i] += t1[i] + t2[i] + t3[i] + t4[i] + t5[i] + t5[i] + t6[i] + t7[i] for 0 <= i < wide</p> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000018">Todo:</a></b></dt><dd>the non SSE2 version of this code is slow, replace by code from mzd_process_rows8 </dd></dl> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Sat Apr 23 2011 for M4RI by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>