root/doc/html/converters_8h-source.html @ 353

Revision 353, 56.2 kB (checked in by smidl, 15 years ago)

doc

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mixpp: converters.h Source File</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li><a href="annotated.html"><span>Classes</span></a></li>
56      <li class="current"><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
62      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
63    </ul>
64  </div>
65<h1>converters.h</h1><a href="converters_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
66<a name="l00029"></a>00029 <span class="preprocessor">#ifndef CONVERTERS_H</span>
67<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define CONVERTERS_H</span>
68<a name="l00031"></a>00031 <span class="preprocessor"></span>
69<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="itcompat_8h.html" title="IT++ compatibility types and functions.">itpp/base/itcompat.h</a>&gt;</span>
70<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="help__functions_8h.html" title="Help functions to make functions with vec and mat as arguments.">itpp/base/help_functions.h</a>&gt;</span>
71<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="misc_8h.html" title="Miscellaneous functions - header file.">itpp/base/math/misc.h</a>&gt;</span>
72<a name="l00035"></a>00035
73<a name="l00036"></a>00036
74<a name="l00037"></a>00037 <span class="keyword">namespace </span>itpp
75<a name="l00038"></a>00038 {
76<a name="l00039"></a>00039
77<a name="l00041"></a>00041
78<a name="l00042"></a>00042
79<a name="l00043"></a>00043 <span class="comment">// ----------------------------------------------------------------------</span>
80<a name="l00044"></a>00044 <span class="comment">// Converters for vectors</span>
81<a name="l00045"></a>00045 <span class="comment">// ----------------------------------------------------------------------</span>
82<a name="l00046"></a>00046
83<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
84<a name="l00052"></a><a class="code" href="group__convertfunc.html#gdeb6e1697b2808f6461e12daebb06a14">00052</a> bvec <a class="code" href="group__convertfunc.html#gdeb6e1697b2808f6461e12daebb06a14" title="Converts a Vec&amp;lt;T&amp;gt; to bvec.">to_bvec</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Vec.html">Vec&lt;T&gt;</a> &amp;v)
85<a name="l00053"></a>00053 {
86<a name="l00054"></a>00054   bvec temp(v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>());
87<a name="l00055"></a>00055   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>(); ++i) {
88<a name="l00056"></a>00056     temp(i) = <span class="keyword">static_cast&lt;</span><a class="code" href="classitpp_1_1bin.html" title="Binary arithmetic (boolean) class.">bin</a><span class="keyword">&gt;</span>(v(i));
89<a name="l00057"></a>00057   }
90<a name="l00058"></a>00058   <span class="keywordflow">return</span> temp;
91<a name="l00059"></a>00059 }
92<a name="l00060"></a>00060
93<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
94<a name="l00066"></a><a class="code" href="group__convertfunc.html#gac95767904cc6d4a1a3e76e1765309a0">00066</a> svec <a class="code" href="group__convertfunc.html#gac95767904cc6d4a1a3e76e1765309a0" title="Converts a Vec&amp;lt;T&amp;gt; to svec.">to_svec</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Vec.html">Vec&lt;T&gt;</a> &amp;v)
95<a name="l00067"></a>00067 {
96<a name="l00068"></a>00068   svec temp(v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>());
97<a name="l00069"></a>00069   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>(); ++i) {
98<a name="l00070"></a>00070     temp(i) = <span class="keyword">static_cast&lt;</span><span class="keywordtype">short</span><span class="keyword">&gt;</span>(v(i));
99<a name="l00071"></a>00071   }
100<a name="l00072"></a>00072   <span class="keywordflow">return</span> temp;
101<a name="l00073"></a>00073 }
102<a name="l00074"></a>00074
103<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
104<a name="l00080"></a><a class="code" href="group__convertfunc.html#gee7bbdaa9dc40aa6c3b63c83fc7f11fe">00080</a> ivec <a class="code" href="group__convertfunc.html#ga2c82af9774f45c3554fb03a06f3e28d" title="Converts an int to ivec.">to_ivec</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Vec.html">Vec&lt;T&gt;</a> &amp;v)
105<a name="l00081"></a>00081 {
106<a name="l00082"></a>00082   ivec temp(v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>());
107<a name="l00083"></a>00083   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>(); ++i) {
108<a name="l00084"></a>00084     temp(i) = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(v(i));
109<a name="l00085"></a>00085   }
110<a name="l00086"></a>00086   <span class="keywordflow">return</span> temp;
111<a name="l00087"></a>00087 }
112<a name="l00088"></a>00088
113<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
114<a name="l00094"></a><a class="code" href="group__convertfunc.html#g80f51dbf24cb09c99d48534b4770b633">00094</a> vec <a class="code" href="group__fixed.html#g9e5d027084a2a9e65500a0f5d4cf81a8" title="Converts a fixvec to vec.">to_vec</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Vec.html">Vec&lt;T&gt;</a> &amp;v)
115<a name="l00095"></a>00095 {
116<a name="l00096"></a>00096   vec temp(v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>());
117<a name="l00097"></a>00097   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>(); ++i) {
118<a name="l00098"></a>00098     temp(i) = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(v(i));
119<a name="l00099"></a>00099   }
120<a name="l00100"></a>00100   <span class="keywordflow">return</span> temp;
121<a name="l00101"></a>00101 }
122<a name="l00102"></a>00102
123<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
124<a name="l00108"></a><a class="code" href="group__convertfunc.html#gf513bda819465b60780abe3ddcd3c797">00108</a> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Vec.html">Vec&lt;T&gt;</a> &amp;v)
125<a name="l00109"></a>00109 {
126<a name="l00110"></a>00110   cvec temp(v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>());
127<a name="l00111"></a>00111   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; v.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>(); ++i) {
128<a name="l00112"></a>00112     temp(i) = std::complex&lt;double&gt;(<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(v(i)), 0.0);
129<a name="l00113"></a>00113   }
130<a name="l00114"></a>00114   <span class="keywordflow">return</span> temp;
131<a name="l00115"></a>00115 }
132<a name="l00116"></a>00116
133<a name="l00118"></a>00118 <span class="keyword">template</span>&lt;&gt; <span class="keyword">inline</span>
134<a name="l00119"></a>00119 cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> cvec&amp; v)
135<a name="l00120"></a>00120 {
136<a name="l00121"></a>00121   <span class="keywordflow">return</span> v;
137<a name="l00122"></a>00122 }
138<a name="l00124"></a>00124
139<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
140<a name="l00130"></a><a class="code" href="group__convertfunc.html#g314541dc3c9f92dc35e900a2b044e225">00130</a> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Vec.html">Vec&lt;T&gt;</a> &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> <a class="code" href="classitpp_1_1Vec.html">Vec&lt;T&gt;</a> &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>)
141<a name="l00131"></a>00131 {
142<a name="l00132"></a>00132   <a class="code" href="group__errorhandlingfunc.html#gd5c34b291e5018534fd2344486e2b5a1" title="Abort if t is not true.">it_assert</a>(real.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>() == imag.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>(),
143<a name="l00133"></a>00133             <span class="stringliteral">"to_cvec(): real and imaginary parts must have the same length"</span>);
144<a name="l00134"></a>00134   cvec temp(real.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>());
145<a name="l00135"></a>00135   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; real.<a class="code" href="classitpp_1_1Vec.html#44478ea086eda22a180102e77e352325" title="The size of the vector.">length</a>(); ++i) {
146<a name="l00136"></a>00136     temp(i) = std::complex&lt;double&gt;(<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>(i)),
147<a name="l00137"></a>00137                                    static_cast&lt;double&gt;(<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>(i)));
148<a name="l00138"></a>00138   }
149<a name="l00139"></a>00139   <span class="keywordflow">return</span> temp;
150<a name="l00140"></a>00140 }
151<a name="l00141"></a>00141
152<a name="l00146"></a>00146 ivec <a class="code" href="group__convertfunc.html#ga2c82af9774f45c3554fb03a06f3e28d" title="Converts an int to ivec.">to_ivec</a>(<span class="keywordtype">int</span> s);
153<a name="l00147"></a>00147
154<a name="l00152"></a>00152 vec <a class="code" href="group__fixed.html#g9e5d027084a2a9e65500a0f5d4cf81a8" title="Converts a fixvec to vec.">to_vec</a>(<span class="keywordtype">double</span> s);
155<a name="l00153"></a>00153
156<a name="l00158"></a>00158 cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keywordtype">double</span> <a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keywordtype">double</span> <a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
157<a name="l00159"></a>00159
158<a name="l00160"></a>00160 <span class="comment">// ----------------------------------------------------------------------</span>
159<a name="l00161"></a>00161 <span class="comment">// Converters for matrices</span>
160<a name="l00162"></a>00162 <span class="comment">// ----------------------------------------------------------------------</span>
161<a name="l00163"></a>00163
162<a name="l00168"></a>00168 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
163<a name="l00169"></a><a class="code" href="group__convertfunc.html#g07f9bb235b54a35618f764d6e7894ce3">00169</a> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> <a class="code" href="group__convertfunc.html#g07f9bb235b54a35618f764d6e7894ce3" title="Converts a Mat&amp;lt;T&amp;gt; to bmat.">to_bmat</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> &amp;m)
164<a name="l00170"></a>00170 {
165<a name="l00171"></a>00171   <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> temp(m.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>(), m.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>());
166<a name="l00172"></a>00172   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; temp.rows(); ++i) {
167<a name="l00173"></a>00173     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; temp.cols(); ++j) {
168<a name="l00174"></a>00174       temp(i, j) = <span class="keyword">static_cast&lt;</span><a class="code" href="classitpp_1_1bin.html" title="Binary arithmetic (boolean) class.">bin</a><span class="keyword">&gt;</span>(m(i, j));
169<a name="l00175"></a>00175     }
170<a name="l00176"></a>00176   }
171<a name="l00177"></a>00177   <span class="keywordflow">return</span> temp;
172<a name="l00178"></a>00178 }
173<a name="l00179"></a>00179
174<a name="l00184"></a>00184 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
175<a name="l00185"></a><a class="code" href="group__convertfunc.html#gf713af60052f77c79cdb145311341e99">00185</a> smat <a class="code" href="group__convertfunc.html#gf713af60052f77c79cdb145311341e99" title="Converts a Mat&amp;lt;T&amp;gt; to smat.">to_smat</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> &amp;m)
176<a name="l00186"></a>00186 {
177<a name="l00187"></a>00187   smat temp(m.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>(), m.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>());
178<a name="l00188"></a>00188   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; temp.rows(); ++i) {
179<a name="l00189"></a>00189     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; temp.cols(); ++j) {
180<a name="l00190"></a>00190       temp(i, j) = <span class="keyword">static_cast&lt;</span><span class="keywordtype">short</span><span class="keyword">&gt;</span>(m(i, j));
181<a name="l00191"></a>00191     }
182<a name="l00192"></a>00192   }
183<a name="l00193"></a>00193   <span class="keywordflow">return</span> temp;
184<a name="l00194"></a>00194 }
185<a name="l00195"></a>00195
186<a name="l00200"></a>00200 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
187<a name="l00201"></a><a class="code" href="group__convertfunc.html#g029975a9d32a9b958f4ec9965f4f1acb">00201</a> imat <a class="code" href="group__convertfunc.html#g029975a9d32a9b958f4ec9965f4f1acb" title="Converts a Mat&amp;lt;T&amp;gt; to imat.">to_imat</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> &amp;m)
188<a name="l00202"></a>00202 {
189<a name="l00203"></a>00203   imat temp(m.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>(), m.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>());
190<a name="l00204"></a>00204   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; temp.rows(); ++i) {
191<a name="l00205"></a>00205     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; temp.cols(); ++j) {
192<a name="l00206"></a>00206       temp(i, j) = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m(i, j));
193<a name="l00207"></a>00207     }
194<a name="l00208"></a>00208   }
195<a name="l00209"></a>00209   <span class="keywordflow">return</span> temp;
196<a name="l00210"></a>00210 }
197<a name="l00211"></a>00211
198<a name="l00216"></a>00216 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
199<a name="l00217"></a><a class="code" href="group__convertfunc.html#g7d8813d98735a505d262763fa149dd2d">00217</a> mat <a class="code" href="group__fixed.html#g36d7bf8746a81d073e4db8b0ad3bec86" title="Converts a fixmat to mat.">to_mat</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> &amp;m)
200<a name="l00218"></a>00218 {
201<a name="l00219"></a>00219   mat temp(m.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>(), m.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>());
202<a name="l00220"></a>00220   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; temp.rows(); ++i) {
203<a name="l00221"></a>00221     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; temp.cols(); ++j) {
204<a name="l00222"></a>00222       temp(i, j) = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(m(i, j));
205<a name="l00223"></a>00223     }
206<a name="l00224"></a>00224   }
207<a name="l00225"></a>00225   <span class="keywordflow">return</span> temp;
208<a name="l00226"></a>00226 }
209<a name="l00227"></a>00227
210<a name="l00232"></a>00232 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
211<a name="l00233"></a><a class="code" href="group__convertfunc.html#ge05e63fed8aadc8152a4c3990f110e73">00233</a> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> &amp;m)
212<a name="l00234"></a>00234 {
213<a name="l00235"></a>00235   cmat temp(m.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>(), m.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>());
214<a name="l00236"></a>00236   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; temp.rows(); ++i) {
215<a name="l00237"></a>00237     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; temp.cols(); ++j) {
216<a name="l00238"></a>00238       temp(i, j) = std::complex&lt;double&gt;(<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(m(i, j)), 0.0);
217<a name="l00239"></a>00239     }
218<a name="l00240"></a>00240   }
219<a name="l00241"></a>00241   <span class="keywordflow">return</span> temp;
220<a name="l00242"></a>00242 }
221<a name="l00243"></a>00243
222<a name="l00245"></a>00245 <span class="keyword">template</span>&lt;&gt; <span class="keyword">inline</span>
223<a name="l00246"></a>00246 cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> cmat&amp; m)
224<a name="l00247"></a>00247 {
225<a name="l00248"></a>00248   <span class="keywordflow">return</span> m;
226<a name="l00249"></a>00249 }
227<a name="l00251"></a>00251
228<a name="l00256"></a>00256 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
229<a name="l00257"></a><a class="code" href="group__convertfunc.html#g6481e9c6a0c9ac248b634662e3b388ee">00257</a> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> <a class="code" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> <a class="code" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>)
230<a name="l00258"></a>00258 {
231<a name="l00259"></a>00259   <a class="code" href="group__errorhandlingfunc.html#gb319550e696ee9d824d23c2a176bc3a6" title="Abort if t is not true and NDEBUG is not defined.">it_assert_debug</a>((real.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>() == imag.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>())
232<a name="l00260"></a>00260                   &amp;&amp; (real.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>() == imag.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>()),
233<a name="l00261"></a>00261                   <span class="stringliteral">"to_cmat(): real and imag part sizes does not match"</span>);
234<a name="l00262"></a>00262   cmat temp(real.<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>(), real.<a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>());
235<a name="l00263"></a>00263   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; temp.rows(); ++i) {
236<a name="l00264"></a>00264     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; temp.cols(); ++j) {
237<a name="l00265"></a>00265       temp(i, j) = std::complex&lt;double&gt;(<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>(i, j)),
238<a name="l00266"></a>00266                                         static_cast&lt;double&gt;(<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>(i, j)));
239<a name="l00267"></a>00267     }
240<a name="l00268"></a>00268   }
241<a name="l00269"></a>00269   <span class="keywordflow">return</span> temp;
242<a name="l00270"></a>00270 }
243<a name="l00271"></a>00271
244<a name="l00272"></a>00272
245<a name="l00276"></a>00276 bvec <a class="code" href="group__convertfunc.html#g83db366182e10eb823bcd5cb0149adf3" title="Convert a decimal int index to bvec with the first bit as MSB if msb_first == true...">dec2bin</a>(<span class="keywordtype">int</span> <a class="code" href="group__matrix__functions.html#g97bb6b35d6d4c683c7558842e4500c2d" title="Length of vector.">length</a>, <span class="keywordtype">int</span> index);
246<a name="l00277"></a>00277
247<a name="l00281"></a>00281 <span class="keywordtype">void</span> <a class="code" href="group__convertfunc.html#g83db366182e10eb823bcd5cb0149adf3" title="Convert a decimal int index to bvec with the first bit as MSB if msb_first == true...">dec2bin</a>(<span class="keywordtype">int</span> index, bvec &amp;v);
248<a name="l00282"></a>00282
249<a name="l00286"></a>00286 bvec <a class="code" href="group__convertfunc.html#g83db366182e10eb823bcd5cb0149adf3" title="Convert a decimal int index to bvec with the first bit as MSB if msb_first == true...">dec2bin</a>(<span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> msb_first = <span class="keyword">true</span>);
250<a name="l00287"></a>00287
251<a name="l00291"></a>00291 <span class="keywordtype">int</span> <a class="code" href="group__convertfunc.html#g698adf78bc0f9d36fd5987bc87d543fa" title="Convert a bvec to decimal int with the first bit as MSB if msb_first == true.">bin2dec</a>(<span class="keyword">const</span> bvec &amp;inbvec, <span class="keywordtype">bool</span> msb_first = <span class="keyword">true</span>);
252<a name="l00292"></a>00292
253<a name="l00300"></a>00300 bvec <a class="code" href="group__convertfunc.html#g587a6022d35b3545e049374daa3186e5" title="Convert ivec of octal form to bvec.">oct2bin</a>(<span class="keyword">const</span> ivec &amp;octalindex, <span class="keywordtype">short</span> keepzeros = 0);
254<a name="l00301"></a>00301
255<a name="l00309"></a>00309 ivec <a class="code" href="group__convertfunc.html#gf3a71bd89be4f7d28781fb14b97683fe" title="Convert bvec to octal ivec.">bin2oct</a>(<span class="keyword">const</span> bvec &amp;inbits);
256<a name="l00310"></a>00310
257<a name="l00312"></a>00312 ivec <a class="code" href="group__convertfunc.html#g1d172f47328a0cc89c7d27652dde7142" title="Convert bvec to polar binary representation as ivec.">bin2pol</a>(<span class="keyword">const</span> bvec &amp;inbvec);
258<a name="l00313"></a>00313
259<a name="l00315"></a>00315 bvec <a class="code" href="group__convertfunc.html#g7b721d6f47de53beb67156145defa029" title="Convert binary polar ivec to bvec.">pol2bin</a>(<span class="keyword">const</span> ivec &amp;inpol);
260<a name="l00316"></a>00316
261<a name="l00318"></a><a class="code" href="group__convertfunc.html#g32812ef8b0e56fa7ccda6bc36b954763">00318</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__convertfunc.html#g32812ef8b0e56fa7ccda6bc36b954763" title="Convert radians to degrees.">rad_to_deg</a>(<span class="keywordtype">double</span> x) { <span class="keywordflow">return</span> (180.0 / itpp::pi * x); }
262<a name="l00320"></a><a class="code" href="group__convertfunc.html#gb9cc2e2e33ff39ea9aa946e6051c709c">00320</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__convertfunc.html#gb9cc2e2e33ff39ea9aa946e6051c709c" title="Convert degrees to radians.">deg_to_rad</a>(<span class="keywordtype">double</span> x) { <span class="keywordflow">return</span> (itpp::pi / 180.0 * x); }
263<a name="l00321"></a>00321
264<a name="l00323"></a><a class="code" href="group__convertfunc.html#g73205f46874d5d65ab69a0cd91534c51">00323</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__convertfunc.html#g811e448b443d640d5931624a8727d0fd" title="Round to nearest integer.">round</a>(<span class="keywordtype">double</span> x) { return ::rint(x); }
265<a name="l00325"></a><a class="code" href="group__convertfunc.html#ga9d26b1d3242affdb5d4b11372737283">00325</a> <span class="keyword">inline</span> vec <a class="code" href="group__convertfunc.html#g811e448b443d640d5931624a8727d0fd" title="Round to nearest integer.">round</a>(<span class="keyword">const</span> vec &amp;x) { <span class="keywordflow">return</span> apply_function&lt;double&gt;(::rint, x); }
266<a name="l00327"></a><a class="code" href="group__convertfunc.html#g811e448b443d640d5931624a8727d0fd">00327</a> <span class="keyword">inline</span> mat <a class="code" href="group__convertfunc.html#g811e448b443d640d5931624a8727d0fd" title="Round to nearest integer.">round</a>(<span class="keyword">const</span> mat &amp;x) { <span class="keywordflow">return</span> apply_function&lt;double&gt;(::rint, x); }
267<a name="l00329"></a><a class="code" href="group__convertfunc.html#g82f2a2bcb10cbc8aa8c450ef5cc2c1a7">00329</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="group__convertfunc.html#gfba861d94f7752f6dfafcdf14b336ca5" title="Round to nearest integer and return imat.">round_i</a>(<span class="keywordtype">double</span> x) { <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(::rint(x)); }
268<a name="l00331"></a>00331 ivec <a class="code" href="group__convertfunc.html#gfba861d94f7752f6dfafcdf14b336ca5" title="Round to nearest integer and return imat.">round_i</a>(<span class="keyword">const</span> vec &amp;x);
269<a name="l00333"></a>00333 imat <a class="code" href="group__convertfunc.html#gfba861d94f7752f6dfafcdf14b336ca5" title="Round to nearest integer and return imat.">round_i</a>(<span class="keyword">const</span> mat &amp;x);
270<a name="l00334"></a>00334
271<a name="l00336"></a><a class="code" href="group__convertfunc.html#g21dd9f813dc0a0342a5d0124b5c2ef33">00336</a> <span class="keyword">inline</span> vec <a class="code" href="group__convertfunc.html#g0cb0ca1ce1f1218522ba2b1e0e1fe5a5" title="Round to nearest upper integer.">ceil</a>(<span class="keyword">const</span> vec &amp;x) { <span class="keywordflow">return</span> apply_function&lt;double&gt;(<a class="code" href="group__convertfunc.html#g0cb0ca1ce1f1218522ba2b1e0e1fe5a5" title="Round to nearest upper integer.">std::ceil</a>, x); }
272<a name="l00338"></a><a class="code" href="group__convertfunc.html#g0cb0ca1ce1f1218522ba2b1e0e1fe5a5">00338</a> <span class="keyword">inline</span> mat <a class="code" href="group__convertfunc.html#g0cb0ca1ce1f1218522ba2b1e0e1fe5a5" title="Round to nearest upper integer.">ceil</a>(<span class="keyword">const</span> mat &amp;x) { <span class="keywordflow">return</span> apply_function&lt;double&gt;(<a class="code" href="group__convertfunc.html#g0cb0ca1ce1f1218522ba2b1e0e1fe5a5" title="Round to nearest upper integer.">std::ceil</a>, x); }
273<a name="l00340"></a><a class="code" href="group__convertfunc.html#g8a4414e86506bff25f33d921b3dc8387">00340</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="group__convertfunc.html#g0f093b7797b4e80006219f0dee101ecf" title="Round to nearest upper integer.">ceil_i</a>(<span class="keywordtype">double</span> x) { <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="group__convertfunc.html#g0cb0ca1ce1f1218522ba2b1e0e1fe5a5" title="Round to nearest upper integer.">std::ceil</a>(x)); }
274<a name="l00342"></a>00342 ivec <a class="code" href="group__convertfunc.html#g0f093b7797b4e80006219f0dee101ecf" title="Round to nearest upper integer.">ceil_i</a>(<span class="keyword">const</span> vec &amp;x);
275<a name="l00344"></a>00344 imat <a class="code" href="group__convertfunc.html#g0f093b7797b4e80006219f0dee101ecf" title="Round to nearest upper integer.">ceil_i</a>(<span class="keyword">const</span> mat &amp;x);
276<a name="l00345"></a>00345
277<a name="l00347"></a><a class="code" href="group__convertfunc.html#g20b741d3bbb9485ad77535578a9acb71">00347</a> <span class="keyword">inline</span> vec <a class="code" href="group__convertfunc.html#g0f932e63be26b95c4d9c6603b6355e89" title="Round to nearest lower integer.">floor</a>(<span class="keyword">const</span> vec &amp;x) { <span class="keywordflow">return</span> apply_function&lt;double&gt;(<a class="code" href="group__convertfunc.html#g0f932e63be26b95c4d9c6603b6355e89" title="Round to nearest lower integer.">std::floor</a>, x); }
278<a name="l00349"></a><a class="code" href="group__convertfunc.html#g0f932e63be26b95c4d9c6603b6355e89">00349</a> <span class="keyword">inline</span> mat <a class="code" href="group__convertfunc.html#g0f932e63be26b95c4d9c6603b6355e89" title="Round to nearest lower integer.">floor</a>(<span class="keyword">const</span> mat &amp;x) { <span class="keywordflow">return</span> apply_function&lt;double&gt;(<a class="code" href="group__convertfunc.html#g0f932e63be26b95c4d9c6603b6355e89" title="Round to nearest lower integer.">std::floor</a>, x); }
279<a name="l00351"></a><a class="code" href="group__convertfunc.html#gcf1c71fe102e088b3233fce2386d95db">00351</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="group__convertfunc.html#gb5745fd45c164c8d1e062359d0bf2783" title="Round to nearest lower integer.">floor_i</a>(<span class="keywordtype">double</span> x) { <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="group__convertfunc.html#g0f932e63be26b95c4d9c6603b6355e89" title="Round to nearest lower integer.">std::floor</a>(x)); }
280<a name="l00353"></a>00353 ivec <a class="code" href="group__convertfunc.html#gb5745fd45c164c8d1e062359d0bf2783" title="Round to nearest lower integer.">floor_i</a>(<span class="keyword">const</span> vec &amp;x);
281<a name="l00355"></a>00355 imat <a class="code" href="group__convertfunc.html#gb5745fd45c164c8d1e062359d0bf2783" title="Round to nearest lower integer.">floor_i</a>(<span class="keyword">const</span> mat &amp;x);
282<a name="l00356"></a>00356
283<a name="l00357"></a>00357
284<a name="l00359"></a><a class="code" href="group__convertfunc.html#g10c358bc8f691b80fe13e3cb0491078b">00359</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> threshold = 1e-14)
285<a name="l00360"></a>00360 {
286<a name="l00361"></a>00361   <span class="keywordflow">return</span> ((std::fabs(x) &lt; threshold) ? 0.0 : x);
287<a name="l00362"></a>00362 }
288<a name="l00363"></a>00363
289<a name="l00365"></a><a class="code" href="group__convertfunc.html#g74012e9508df1f490db9dbe0020d9207">00365</a> <span class="keyword">inline</span> std::complex&lt;double&gt; <a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(<span class="keyword">const</span> std::complex&lt;double&gt;&amp; x,
290<a name="l00366"></a>00366     <span class="keywordtype">double</span> threshold = 1e-14)
291<a name="l00367"></a>00367 {
292<a name="l00368"></a>00368   <span class="keywordflow">return</span> std::complex&lt;double&gt;(<a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(x.real(), threshold),
293<a name="l00369"></a>00369                               <a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(x.imag(), threshold));
294<a name="l00370"></a>00370 }
295<a name="l00371"></a>00371
296<a name="l00373"></a><a class="code" href="group__convertfunc.html#g7640d87910f68d7a1e76c596dae72f79">00373</a> <span class="keyword">inline</span> vec <a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(<span class="keyword">const</span> vec &amp;x, <span class="keywordtype">double</span> threshold = 1e-14)
297<a name="l00374"></a>00374 {
298<a name="l00375"></a>00375   <span class="keywordflow">return</span> apply_function&lt;double&gt;(<a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>, x, threshold);
299<a name="l00376"></a>00376 }
300<a name="l00377"></a>00377
301<a name="l00379"></a><a class="code" href="group__convertfunc.html#gce3bc32b13627eb80a2920c2555bd346">00379</a> <span class="keyword">inline</span> mat <a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(<span class="keyword">const</span> mat &amp;x, <span class="keywordtype">double</span> threshold = 1e-14)
302<a name="l00380"></a>00380 {
303<a name="l00381"></a>00381   <span class="keywordflow">return</span> apply_function&lt;double&gt;(<a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>, x, threshold);
304<a name="l00382"></a>00382 }
305<a name="l00383"></a>00383
306<a name="l00385"></a>00385 cvec <a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(<span class="keyword">const</span> cvec &amp;x, <span class="keywordtype">double</span> threshold = 1e-14);
307<a name="l00386"></a>00386
308<a name="l00388"></a>00388 cmat <a class="code" href="group__convertfunc.html#g843abab899b16e0ac6cf2641fc3e1daa" title="Round each element to zero if element &amp;lt; threshold.">round_to_zero</a>(<span class="keyword">const</span> cmat &amp;x, <span class="keywordtype">double</span> threshold = 1e-14);
309<a name="l00389"></a>00389
310<a name="l00390"></a>00390
311<a name="l00392"></a><a class="code" href="group__convertfunc.html#g6e40220eacb8cf264c83845319d256d9">00392</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="group__convertfunc.html#g6e40220eacb8cf264c83845319d256d9" title="Convert to Gray Code.">gray_code</a>(<span class="keywordtype">int</span> x) { <span class="keywordflow">return</span> x ^(x &gt;&gt; 1); }
312<a name="l00393"></a>00393
313<a name="l00394"></a>00394
314<a name="l00400"></a>00400 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
315<a name="l00401"></a>00401 std::string <a class="code" href="group__convertfunc.html#g67127e32647b00caaed837ea24fb63f1" title="Convert double to string.">to_str</a>(<span class="keyword">const</span> T &amp;i);
316<a name="l00402"></a>00402
317<a name="l00410"></a>00410 std::string <a class="code" href="group__convertfunc.html#g67127e32647b00caaed837ea24fb63f1" title="Convert double to string.">to_str</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> &amp;i, <span class="keyword">const</span> <span class="keywordtype">int</span> precision);
318<a name="l00411"></a>00411
319<a name="l00413"></a>00413
320<a name="l00414"></a>00414 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
321<a name="l00415"></a><a class="code" href="group__convertfunc.html#g5ec111b67afeddb439dfe8b42658c611">00415</a> std::string <a class="code" href="group__convertfunc.html#g67127e32647b00caaed837ea24fb63f1" title="Convert double to string.">to_str</a>(<span class="keyword">const</span> T &amp;i)
322<a name="l00416"></a>00416 {
323<a name="l00417"></a>00417   std::ostringstream ss;
324<a name="l00418"></a>00418   ss.precision(8);
325<a name="l00419"></a>00419   ss.setf(std::ostringstream::scientific, std::ostringstream::floatfield);
326<a name="l00420"></a>00420   ss &lt;&lt; i;
327<a name="l00421"></a>00421   <span class="keywordflow">return</span> ss.str();
328<a name="l00422"></a>00422 }
329<a name="l00423"></a>00423
330<a name="l00425"></a>00425
331<a name="l00426"></a>00426 <span class="comment">// ---------------------------------------------------------------------</span>
332<a name="l00427"></a>00427 <span class="comment">// Instantiations</span>
333<a name="l00428"></a>00428 <span class="comment">// ---------------------------------------------------------------------</span>
334<a name="l00429"></a>00429
335<a name="l00430"></a>00430 <span class="preprocessor">#ifdef HAVE_EXTERN_TEMPLATE</span>
336<a name="l00431"></a>00431 <span class="preprocessor"></span>
337<a name="l00432"></a>00432 <span class="keyword">extern</span> <span class="keyword">template</span> bvec <a class="code" href="group__convertfunc.html#gdeb6e1697b2808f6461e12daebb06a14" title="Converts a Vec&amp;lt;T&amp;gt; to bvec.">to_bvec</a>(<span class="keyword">const</span> svec &amp;v);
338<a name="l00433"></a>00433 <span class="keyword">extern</span> <span class="keyword">template</span> bvec <a class="code" href="group__convertfunc.html#gdeb6e1697b2808f6461e12daebb06a14" title="Converts a Vec&amp;lt;T&amp;gt; to bvec.">to_bvec</a>(<span class="keyword">const</span> ivec &amp;v);
339<a name="l00434"></a>00434
340<a name="l00435"></a>00435 <span class="keyword">extern</span> <span class="keyword">template</span> svec <a class="code" href="group__convertfunc.html#gac95767904cc6d4a1a3e76e1765309a0" title="Converts a Vec&amp;lt;T&amp;gt; to svec.">to_svec</a>(<span class="keyword">const</span> bvec &amp;v);
341<a name="l00436"></a>00436 <span class="keyword">extern</span> <span class="keyword">template</span> svec <a class="code" href="group__convertfunc.html#gac95767904cc6d4a1a3e76e1765309a0" title="Converts a Vec&amp;lt;T&amp;gt; to svec.">to_svec</a>(<span class="keyword">const</span> ivec &amp;v);
342<a name="l00437"></a>00437 <span class="keyword">extern</span> <span class="keyword">template</span> svec <a class="code" href="group__convertfunc.html#gac95767904cc6d4a1a3e76e1765309a0" title="Converts a Vec&amp;lt;T&amp;gt; to svec.">to_svec</a>(<span class="keyword">const</span> vec &amp;v);
343<a name="l00438"></a>00438
344<a name="l00439"></a>00439 <span class="comment">// Workaround for GCC 3.3.x error when using -finine-functions or -O3 flag</span>
345<a name="l00440"></a>00440 <span class="preprocessor">#if (GCC_VERSION &gt;= 30400)</span>
346<a name="l00441"></a>00441 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keyword">template</span> ivec <a class="code" href="group__convertfunc.html#ga2c82af9774f45c3554fb03a06f3e28d" title="Converts an int to ivec.">to_ivec</a>(<span class="keyword">const</span> bvec &amp;v);
347<a name="l00442"></a>00442 <span class="preprocessor">#endif</span>
348<a name="l00443"></a>00443 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keyword">template</span> ivec <a class="code" href="group__convertfunc.html#ga2c82af9774f45c3554fb03a06f3e28d" title="Converts an int to ivec.">to_ivec</a>(<span class="keyword">const</span> svec &amp;v);
349<a name="l00444"></a>00444 <span class="keyword">extern</span> <span class="keyword">template</span> ivec <a class="code" href="group__convertfunc.html#ga2c82af9774f45c3554fb03a06f3e28d" title="Converts an int to ivec.">to_ivec</a>(<span class="keyword">const</span> vec &amp;v);
350<a name="l00445"></a>00445
351<a name="l00446"></a>00446 <span class="keyword">extern</span> <span class="keyword">template</span> vec <a class="code" href="group__fixed.html#g9e5d027084a2a9e65500a0f5d4cf81a8" title="Converts a fixvec to vec.">to_vec</a>(<span class="keyword">const</span> bvec &amp;v);
352<a name="l00447"></a>00447 <span class="keyword">extern</span> <span class="keyword">template</span> vec <a class="code" href="group__fixed.html#g9e5d027084a2a9e65500a0f5d4cf81a8" title="Converts a fixvec to vec.">to_vec</a>(<span class="keyword">const</span> svec &amp;v);
353<a name="l00448"></a>00448 <span class="keyword">extern</span> <span class="keyword">template</span> vec <a class="code" href="group__fixed.html#g9e5d027084a2a9e65500a0f5d4cf81a8" title="Converts a fixvec to vec.">to_vec</a>(<span class="keyword">const</span> ivec &amp;v);
354<a name="l00449"></a>00449
355<a name="l00450"></a>00450 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> bvec &amp;v);
356<a name="l00451"></a>00451 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> svec &amp;v);
357<a name="l00452"></a>00452 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> ivec &amp;v);
358<a name="l00453"></a>00453 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> vec &amp;v);
359<a name="l00454"></a>00454
360<a name="l00455"></a>00455 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> bvec &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> bvec &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
361<a name="l00456"></a>00456 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> svec &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> svec &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
362<a name="l00457"></a>00457 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> ivec &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> ivec &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
363<a name="l00458"></a>00458 <span class="keyword">extern</span> <span class="keyword">template</span> cvec <a class="code" href="group__fixed.html#g3f0aa27746b5d5880f77e96c089498f2" title="Converts a cfixvec to cvec.">to_cvec</a>(<span class="keyword">const</span> vec &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> vec &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
364<a name="l00459"></a>00459
365<a name="l00460"></a>00460 <span class="keyword">extern</span> <span class="keyword">template</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> <a class="code" href="group__convertfunc.html#g07f9bb235b54a35618f764d6e7894ce3" title="Converts a Mat&amp;lt;T&amp;gt; to bmat.">to_bmat</a>(<span class="keyword">const</span> smat &amp;m);
366<a name="l00461"></a>00461 <span class="keyword">extern</span> <span class="keyword">template</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> <a class="code" href="group__convertfunc.html#g07f9bb235b54a35618f764d6e7894ce3" title="Converts a Mat&amp;lt;T&amp;gt; to bmat.">to_bmat</a>(<span class="keyword">const</span> imat &amp;m);
367<a name="l00462"></a>00462
368<a name="l00463"></a>00463 <span class="keyword">extern</span> <span class="keyword">template</span> smat <a class="code" href="group__convertfunc.html#gf713af60052f77c79cdb145311341e99" title="Converts a Mat&amp;lt;T&amp;gt; to smat.">to_smat</a>(<span class="keyword">const</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> &amp;m);
369<a name="l00464"></a>00464 <span class="keyword">extern</span> <span class="keyword">template</span> smat <a class="code" href="group__convertfunc.html#gf713af60052f77c79cdb145311341e99" title="Converts a Mat&amp;lt;T&amp;gt; to smat.">to_smat</a>(<span class="keyword">const</span> imat &amp;m);
370<a name="l00465"></a>00465 <span class="keyword">extern</span> <span class="keyword">template</span> smat <a class="code" href="group__convertfunc.html#gf713af60052f77c79cdb145311341e99" title="Converts a Mat&amp;lt;T&amp;gt; to smat.">to_smat</a>(<span class="keyword">const</span> mat &amp;m);
371<a name="l00466"></a>00466
372<a name="l00467"></a>00467 <span class="keyword">extern</span> <span class="keyword">template</span> imat <a class="code" href="group__convertfunc.html#g029975a9d32a9b958f4ec9965f4f1acb" title="Converts a Mat&amp;lt;T&amp;gt; to imat.">to_imat</a>(<span class="keyword">const</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> &amp;m);
373<a name="l00468"></a>00468 <span class="keyword">extern</span> <span class="keyword">template</span> imat <a class="code" href="group__convertfunc.html#g029975a9d32a9b958f4ec9965f4f1acb" title="Converts a Mat&amp;lt;T&amp;gt; to imat.">to_imat</a>(<span class="keyword">const</span> smat &amp;m);
374<a name="l00469"></a>00469 <span class="keyword">extern</span> <span class="keyword">template</span> imat <a class="code" href="group__convertfunc.html#g029975a9d32a9b958f4ec9965f4f1acb" title="Converts a Mat&amp;lt;T&amp;gt; to imat.">to_imat</a>(<span class="keyword">const</span> mat &amp;m);
375<a name="l00470"></a>00470
376<a name="l00471"></a>00471 <span class="keyword">extern</span> <span class="keyword">template</span> mat <a class="code" href="group__fixed.html#g36d7bf8746a81d073e4db8b0ad3bec86" title="Converts a fixmat to mat.">to_mat</a>(<span class="keyword">const</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> &amp;m);
377<a name="l00472"></a>00472 <span class="preprocessor">#if (GCC_VERSION &gt;= 30400)</span>
378<a name="l00473"></a>00473 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keyword">template</span> mat <a class="code" href="group__fixed.html#g36d7bf8746a81d073e4db8b0ad3bec86" title="Converts a fixmat to mat.">to_mat</a>(<span class="keyword">const</span> smat &amp;m);
379<a name="l00474"></a>00474 <span class="keyword">extern</span> <span class="keyword">template</span> mat <a class="code" href="group__fixed.html#g36d7bf8746a81d073e4db8b0ad3bec86" title="Converts a fixmat to mat.">to_mat</a>(<span class="keyword">const</span> imat &amp;m);
380<a name="l00475"></a>00475 <span class="preprocessor">#endif</span>
381<a name="l00476"></a>00476 <span class="preprocessor"></span>
382<a name="l00477"></a>00477 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> &amp;m);
383<a name="l00478"></a>00478 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> smat &amp;m);
384<a name="l00479"></a>00479 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> imat &amp;m);
385<a name="l00480"></a>00480 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> mat &amp;m);
386<a name="l00481"></a>00481
387<a name="l00482"></a>00482 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
388<a name="l00483"></a>00483 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> smat &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> smat &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
389<a name="l00484"></a>00484 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> imat &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> imat &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
390<a name="l00485"></a>00485 <span class="keyword">extern</span> <span class="keyword">template</span> cmat <a class="code" href="group__fixed.html#g6c4d97173a184f3f3b1049214d662582" title="Converts a cfixmat to cmat.">to_cmat</a>(<span class="keyword">const</span> mat &amp;<a class="code" href="group__fixed.html#g58e25b8186a28f9dfd4062c7ed22e358" title="Real part of complex value.">real</a>, <span class="keyword">const</span> mat &amp;<a class="code" href="group__fixed.html#gfaa4104621089388e7bfb218b02aaa77" title="Imaginary part of complex value.">imag</a>);
391<a name="l00486"></a>00486
392<a name="l00487"></a>00487 <span class="preprocessor">#endif // HAVE_EXTERN_TEMPLATE</span>
393<a name="l00488"></a>00488 <span class="preprocessor"></span>
394<a name="l00490"></a>00490
395<a name="l00491"></a>00491 } <span class="comment">// namespace itpp</span>
396<a name="l00492"></a>00492
397<a name="l00493"></a>00493 <span class="preprocessor">#endif // CONVERTERS_H</span>
398</pre></div></div>
399<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:11 2009 for mixpp by&nbsp;
400<a href="http://www.doxygen.org/index.html">
401<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
402</body>
403</html>
Note: See TracBrowser for help on using the browser.