<!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>linbox: benchmark-crafixed.C 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 --> <script type="text/javascript"> function hasClass(ele,cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); } function addClass(ele,cls) { if (!this.hasClass(ele,cls)) ele.className += " "+cls; } function removeClass(ele,cls) { if (hasClass(ele,cls)) { var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); ele.className=ele.className.replace(reg,' '); } } function toggleVisibility(linkObj) { var base = linkObj.getAttribute('id'); var summary = document.getElementById(base + '-summary'); var content = document.getElementById(base + '-content'); var trigger = document.getElementById(base + '-trigger'); if ( hasClass(linkObj,'closed') ) { summary.style.display = 'none'; content.style.display = 'block'; trigger.src = 'open.png'; removeClass(linkObj,'closed'); addClass(linkObj,'opened'); } else if ( hasClass(linkObj,'opened') ) { summary.style.display = 'block'; content.style.display = 'none'; trigger.src = 'closed.png'; removeClass(linkObj,'opened'); addClass(linkObj,'closed'); } return false; } </script> <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">linbox</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="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</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="dirs.html"><span>Directories</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 id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_af7a65628faedb761b81b231d2b4767b.html">benchmarks</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#namespaces">Namespaces</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">benchmark-crafixed.C File Reference<div class="ingroups"><a class="el" href="group__benchmarks.html">Benchmarks</a></div></div> </div> </div> <div class="contents"> <p>Benchmarking fixed CRA routines. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="benchmark_8h.html">benchmarks/benchmark.h</a>"</code><br/> <code>#include "<a class="el" href="debug_8h.html">linbox/util/debug.h</a>"</code><br/> <code>#include "<a class="el" href="field_2modular_8h.html">linbox/field/modular.h</a>"</code><br/> <code>#include "<a class="el" href="field_2modular-balanced_8h.html">linbox/field/modular-balanced.h</a>"</code><br/> <code>#include "<a class="el" href="matrix_2random-matrix_8h.html">linbox/matrix/random-matrix.h</a>"</code><br/> <code>#include "<a class="el" href="blas-domain_8h.html">linbox/algorithms/blas-domain.h</a>"</code><br/> <code>#include "<a class="el" href="rns_8h.html">linbox/algorithms/rns.h</a>"</code><br/> <code>#include <<a class="el" href="cra-domain_8h.html">linbox/algorithms/cra-domain.h</a>></code><br/> <code>#include "<a class="el" href="cra-early-multip_8h.html">linbox/algorithms/cra-early-multip.h</a>"</code><br/> <code>#include "<a class="el" href="integer_8h.html">linbox/integer.h</a>"</code><br/> <code>#include "<a class="el" href="iml__wrapper_8h.html">linbox/util/iml_wrapper.h</a>"</code><br/> </div><table class="memberdecls"> <tr><td colspan="2"><h2><a name="namespaces"></a> Namespaces</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html">LinBox</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Namespace in which all linbox code resides. </p> <br/></td></tr> </p> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memTemplParams" colspan="2">template<bool Unsigned> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="benchmark-crafixed_8_c.html#ab5825723081ce859f864aca9234e998d">bench_cra</a> (index_t n, index_t m, index_t l, <a class="el" href="class_lin_box_1_1_plot_data.html">LinBox::PlotData</a>< index_t > &Data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Bench CRA. <a href="#ab5825723081ce859f864aca9234e998d"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Benchmarking fixed CRA routines. </p> <p>Here we make benchmarks for CRT (Chinese Remaindering Theorem/Algorithm) in the following case. Let <img class="formulaInl" alt="$\mathbf{v}$" src="form_79.png"/> be a vector of size <img class="formulaInl" alt="$n$" src="form_80.png"/> and whose entries have at most <img class="formulaInl" alt="$l$" src="form_81.png"/> bits (signed or unsigned). Suppose that we only know <img class="formulaInl" alt="$\mathbf{v} \mod p_i$" src="form_82.png"/> for many primes <img class="formulaInl" alt="$p_i$" src="form_83.png"/>. We try and reconstruct <img class="formulaInl" alt="$\mathbf{v}$" src="form_79.png"/> from these residues.</p> <p>We benchmark for one vector or <img class="formulaInl" alt="$m$" src="form_84.png"/> repetitions on different vectors.</p> <p>We use the implementations in <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a>, Givaro, IML and NTL (if the latter two are available).</p> <dl class="warning"><dt><b>Warning:</b></dt><dd>this is not a benchmark for one integer to reconstruct or a for BlasMatrix. </dd></dl> </div><hr/><h2>Function Documentation</h2> <a class="anchor" id="ab5825723081ce859f864aca9234e998d"></a><!-- doxytag: member="benchmark-crafixed.C::bench_cra" ref="ab5825723081ce859f864aca9234e998d" args="(index_t n, index_t m, index_t l, LinBox::PlotData< index_t > &Data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int bench_cra </td> <td>(</td> <td class="paramtype">index_t </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">index_t </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">index_t </td> <td class="paramname"><em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_lin_box_1_1_plot_data.html">LinBox::PlotData</a>< index_t > & </td> <td class="paramname"><em>Data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Bench CRA. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">n</td><td>size of vector to reconstruct (>1) </td></tr> <tr><td class="paramname">m</td><td>number of vectors to reconstruct </td></tr> <tr><td class="paramname">l</td><td>size of the integers </td></tr> </table> </dd> </dl> <dl><dt><b>Template Parameters:</b></dt><dd> <table class=""> <tr><td class="paramname">Unsigned</td><td>use >=0 random integers or not. </td></tr> </table> </dd> </dl> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">Data</td><td>collects timings </td></tr> </table> </dd> </dl> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Tue Aug 30 2011 for linbox 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>