1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437
|
<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ViennaCL - The Vienna Computing Library: viennacl/vector.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">ViennaCL - The Vienna Computing Library
 <span id="projectnumber">1.7.1</span>
</div>
<div id="projectbrief">Free open-source GPU-accelerated linear algebra and solver library.</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('vector_8hpp.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> |
<a href="#namespaces">Namespaces</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vector.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations such as norms and inner products are located in <a class="el" href="vector__operations_8hpp.html" title="Implementations of vector operations. ">linalg/vector_operations.hpp</a>.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "<a class="el" href="forwards_8h_source.html">viennacl/forwards.h</a>"</code><br/>
<code>#include "<a class="el" href="vector__def_8hpp_source.html">viennacl/detail/vector_def.hpp</a>"</code><br/>
<code>#include "<a class="el" href="memory_8hpp_source.html">viennacl/backend/memory.hpp</a>"</code><br/>
<code>#include "<a class="el" href="scalar_8hpp_source.html">viennacl/scalar.hpp</a>"</code><br/>
<code>#include "<a class="el" href="tools_8hpp_source.html">viennacl/tools/tools.hpp</a>"</code><br/>
<code>#include "<a class="el" href="entry__proxy_8hpp_source.html">viennacl/tools/entry_proxy.hpp</a>"</code><br/>
<code>#include "<a class="el" href="op__executor_8hpp_source.html">viennacl/linalg/detail/op_executor.hpp</a>"</code><br/>
<code>#include "<a class="el" href="vector__operations_8hpp_source.html">viennacl/linalg/vector_operations.hpp</a>"</code><br/>
<code>#include "<a class="el" href="result__of_8hpp_source.html">viennacl/meta/result_of.hpp</a>"</code><br/>
<code>#include "<a class="el" href="context_8hpp_source.html">viennacl/context.hpp</a>"</code><br/>
<code>#include "<a class="el" href="traits_2handle_8hpp_source.html">viennacl/traits/handle.hpp</a>"</code><br/>
</div>
<p><a href="vector_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classviennacl_1_1vector__expression.html">viennacl::vector_expression< LHS, RHS, OP ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An expression template class that represents a binary operation that yields a vector. <a href="classviennacl_1_1vector__expression.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classviennacl_1_1const__vector__iterator.html">viennacl::const_vector_iterator< SCALARTYPE, ALIGNMENT ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A STL-type const-iterator for vector elements. Elements can be accessed, but cannot be manipulated. VERY SLOW!! <a href="classviennacl_1_1const__vector__iterator.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classviennacl_1_1vector__iterator.html">viennacl::vector_iterator< SCALARTYPE, ALIGNMENT ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A STL-type iterator for vector elements. Elements can be accessed and manipulated. VERY SLOW!! <a href="classviennacl_1_1vector__iterator.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classviennacl_1_1vector.html">viennacl::vector< SCALARTYPE, ALIGNMENT ></a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classviennacl_1_1vector__tuple.html">viennacl::vector_tuple< ScalarT ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Tuple class holding pointers to multiple vectors. Mainly used as a temporary object returned from <a class="el" href="namespaceviennacl.html#a18c575b08038eb6af18fe1b89e4022ba">viennacl::tie()</a>. <a href="classviennacl_1_1vector__tuple.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceviennacl"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html">viennacl</a></td></tr>
<tr class="memdesc:namespaceviennacl"><td class="mdescLeft"> </td><td class="mdescRight">Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a18c575b08038eb6af18fe1b89e4022ba"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:a18c575b08038eb6af18fe1b89e4022ba"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a18c575b08038eb6af18fe1b89e4022ba">viennacl::tie</a> (vector_base< ScalarT > const &v0, vector_base< ScalarT > const &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>)</td></tr>
<tr class="separator:a18c575b08038eb6af18fe1b89e4022ba"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab25260434dfe3c4c527fd2a9ae437685"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:ab25260434dfe3c4c527fd2a9ae437685"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ab25260434dfe3c4c527fd2a9ae437685">viennacl::tie</a> (vector_base< ScalarT > &v0, vector_base< ScalarT > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>)</td></tr>
<tr class="separator:ab25260434dfe3c4c527fd2a9ae437685"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aee58be5508bb77871fc653aa8b33f3e2"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:aee58be5508bb77871fc653aa8b33f3e2"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#aee58be5508bb77871fc653aa8b33f3e2">viennacl::tie</a> (vector_base< ScalarT > const &v0, vector_base< ScalarT > const &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, vector_base< ScalarT > const &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>)</td></tr>
<tr class="separator:aee58be5508bb77871fc653aa8b33f3e2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a56eeda7139441461f48c7303ad1b4b44"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:a56eeda7139441461f48c7303ad1b4b44"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a56eeda7139441461f48c7303ad1b4b44">viennacl::tie</a> (vector_base< ScalarT > &v0, vector_base< ScalarT > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, vector_base< ScalarT > &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>)</td></tr>
<tr class="separator:a56eeda7139441461f48c7303ad1b4b44"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae7d28ebaf25043e36652c5ef210d405a"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:ae7d28ebaf25043e36652c5ef210d405a"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ae7d28ebaf25043e36652c5ef210d405a">viennacl::tie</a> (vector_base< ScalarT > const &v0, vector_base< ScalarT > const &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, vector_base< ScalarT > const &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>, vector_base< ScalarT > const &v3)</td></tr>
<tr class="separator:ae7d28ebaf25043e36652c5ef210d405a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0250b6a52a40df48e3ee18f1db6e4747"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:a0250b6a52a40df48e3ee18f1db6e4747"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a0250b6a52a40df48e3ee18f1db6e4747">viennacl::tie</a> (vector_base< ScalarT > &v0, vector_base< ScalarT > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, vector_base< ScalarT > &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>, vector_base< ScalarT > &v3)</td></tr>
<tr class="separator:a0250b6a52a40df48e3ee18f1db6e4747"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8e40b38f92dd9f2b23f8fa134da43204"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:a8e40b38f92dd9f2b23f8fa134da43204"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a8e40b38f92dd9f2b23f8fa134da43204">viennacl::tie</a> (vector_base< ScalarT > const &v0, vector_base< ScalarT > const &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, vector_base< ScalarT > const &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>, vector_base< ScalarT > const &v3, vector_base< ScalarT > const &v4)</td></tr>
<tr class="separator:a8e40b38f92dd9f2b23f8fa134da43204"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac96d28a81e8e227f2678360fbdd92ae1"><td class="memTemplParams" colspan="2">template<typename ScalarT > </td></tr>
<tr class="memitem:ac96d28a81e8e227f2678360fbdd92ae1"><td class="memTemplItemLeft" align="right" valign="top">vector_tuple< ScalarT > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ac96d28a81e8e227f2678360fbdd92ae1">viennacl::tie</a> (vector_base< ScalarT > &v0, vector_base< ScalarT > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, vector_base< ScalarT > &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>, vector_base< ScalarT > &v3, vector_base< ScalarT > &v4)</td></tr>
<tr class="separator:ac96d28a81e8e227f2678360fbdd92ae1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5a958e9ed4987dfc5cbd784b84f91d01"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV, typename CPU_ITERATOR > </td></tr>
<tr class="memitem:a5a958e9ed4987dfc5cbd784b84f91d01"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a5a958e9ed4987dfc5cbd784b84f91d01">viennacl::fast_copy</a> (const const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_begin, const const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_end, CPU_ITERATOR cpu_begin)</td></tr>
<tr class="memdesc:a5a958e9ed4987dfc5cbd784b84f91d01"><td class="mdescLeft"> </td><td class="mdescRight">STL-like transfer of a GPU vector to the CPU. The cpu type is assumed to reside in a linear piece of memory, such as e.g. for std::vector. <a href="#a5a958e9ed4987dfc5cbd784b84f91d01">More...</a><br/></td></tr>
<tr class="separator:a5a958e9ed4987dfc5cbd784b84f91d01"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a18efe971cc5df1ca97ca63bf7565a8ed"><td class="memTemplParams" colspan="2">template<typename NumericT , typename CPUVECTOR > </td></tr>
<tr class="memitem:a18efe971cc5df1ca97ca63bf7565a8ed"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a18efe971cc5df1ca97ca63bf7565a8ed">viennacl::fast_copy</a> (vector_base< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a> > const &gpu_vec, CPUVECTOR &cpu_vec)</td></tr>
<tr class="memdesc:a18efe971cc5df1ca97ca63bf7565a8ed"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a gpu vector to a cpu vector. Convenience wrapper for viennacl::linalg::fast_copy(gpu_vec.begin(), gpu_vec.end(), cpu_vec.begin());. <a href="#a18efe971cc5df1ca97ca63bf7565a8ed">More...</a><br/></td></tr>
<tr class="separator:a18efe971cc5df1ca97ca63bf7565a8ed"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a26d7d74290f43e613e35d19e6f522e4f"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV, typename CPU_ITERATOR > </td></tr>
<tr class="memitem:a26d7d74290f43e613e35d19e6f522e4f"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a26d7d74290f43e613e35d19e6f522e4f">viennacl::async_copy</a> (const const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_begin, const const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_end, CPU_ITERATOR cpu_begin)</td></tr>
<tr class="memdesc:a26d7d74290f43e613e35d19e6f522e4f"><td class="mdescLeft"> </td><td class="mdescRight">Asynchronous version of <a class="el" href="namespaceviennacl.html#aaa5c8726b45bc89a523ca2fa8c42107a">fast_copy()</a>, copying data from device to host. The host iterator cpu_begin needs to reside in a linear piece of memory, such as e.g. for std::vector. <a href="#a26d7d74290f43e613e35d19e6f522e4f">More...</a><br/></td></tr>
<tr class="separator:a26d7d74290f43e613e35d19e6f522e4f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad588773086ec291f43d382f023648166"><td class="memTemplParams" colspan="2">template<typename NumericT , typename CPUVECTOR > </td></tr>
<tr class="memitem:ad588773086ec291f43d382f023648166"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ad588773086ec291f43d382f023648166">viennacl::async_copy</a> (vector_base< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a> > const &gpu_vec, CPUVECTOR &cpu_vec)</td></tr>
<tr class="memdesc:ad588773086ec291f43d382f023648166"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a gpu vector to a cpu vector. Convenience wrapper for viennacl::linalg::fast_copy(gpu_vec.begin(), gpu_vec.end(), cpu_vec.begin());. <a href="#ad588773086ec291f43d382f023648166">More...</a><br/></td></tr>
<tr class="separator:ad588773086ec291f43d382f023648166"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad6c98e44b7ee336fa2eb4a6312b80cd6"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV, typename CPU_ITERATOR > </td></tr>
<tr class="memitem:ad6c98e44b7ee336fa2eb4a6312b80cd6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ad6c98e44b7ee336fa2eb4a6312b80cd6">viennacl::copy</a> (const const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_begin, const const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_end, CPU_ITERATOR cpu_begin)</td></tr>
<tr class="memdesc:ad6c98e44b7ee336fa2eb4a6312b80cd6"><td class="mdescLeft"> </td><td class="mdescRight">STL-like transfer for the entries of a GPU vector to the CPU. The cpu type does not need to lie in a linear piece of memory. <a href="#ad6c98e44b7ee336fa2eb4a6312b80cd6">More...</a><br/></td></tr>
<tr class="separator:ad6c98e44b7ee336fa2eb4a6312b80cd6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abba314ca5441ee215d3adc77eafe529b"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV, typename CPU_ITERATOR > </td></tr>
<tr class="memitem:abba314ca5441ee215d3adc77eafe529b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#abba314ca5441ee215d3adc77eafe529b">viennacl::copy</a> (const vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_begin, const vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &gpu_end, CPU_ITERATOR cpu_begin)</td></tr>
<tr class="memdesc:abba314ca5441ee215d3adc77eafe529b"><td class="mdescLeft"> </td><td class="mdescRight">STL-like transfer for the entries of a GPU vector to the CPU. The cpu type does not need to lie in a linear piece of memory. <a href="#abba314ca5441ee215d3adc77eafe529b">More...</a><br/></td></tr>
<tr class="separator:abba314ca5441ee215d3adc77eafe529b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a41d005b9f0d205c14417da3dbdaff0f7"><td class="memTemplParams" colspan="2">template<typename NumericT , typename CPUVECTOR > </td></tr>
<tr class="memitem:a41d005b9f0d205c14417da3dbdaff0f7"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a41d005b9f0d205c14417da3dbdaff0f7">viennacl::copy</a> (vector_base< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a> > const &gpu_vec, CPUVECTOR &cpu_vec)</td></tr>
<tr class="memdesc:a41d005b9f0d205c14417da3dbdaff0f7"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a gpu vector to a cpu vector. Convenience wrapper for viennacl::linalg::copy(gpu_vec.begin(), gpu_vec.end(), cpu_vec.begin());. <a href="#a41d005b9f0d205c14417da3dbdaff0f7">More...</a><br/></td></tr>
<tr class="separator:a41d005b9f0d205c14417da3dbdaff0f7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6c0192b3236f8f4962a208af7e139e22"><td class="memTemplParams" colspan="2">template<typename CPU_ITERATOR , typename NumericT , unsigned int AlignmentV> </td></tr>
<tr class="memitem:a6c0192b3236f8f4962a208af7e139e22"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a6c0192b3236f8f4962a208af7e139e22">viennacl::fast_copy</a> (CPU_ITERATOR const &cpu_begin, CPU_ITERATOR const &cpu_end, vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > gpu_begin)</td></tr>
<tr class="memdesc:a6c0192b3236f8f4962a208af7e139e22"><td class="mdescLeft"> </td><td class="mdescRight">STL-like transfer of a CPU vector to the GPU. The cpu type is assumed to reside in a linear piece of memory, such as e.g. for std::vector. <a href="#a6c0192b3236f8f4962a208af7e139e22">More...</a><br/></td></tr>
<tr class="separator:a6c0192b3236f8f4962a208af7e139e22"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a19621895b23c45e932e4ce15d947b311"><td class="memTemplParams" colspan="2">template<typename CPUVECTOR , typename NumericT > </td></tr>
<tr class="memitem:a19621895b23c45e932e4ce15d947b311"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a19621895b23c45e932e4ce15d947b311">viennacl::fast_copy</a> (const CPUVECTOR &cpu_vec, vector_base< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a> > &gpu_vec)</td></tr>
<tr class="memdesc:a19621895b23c45e932e4ce15d947b311"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a cpu vector to a gpu vector. Convenience wrapper for viennacl::linalg::fast_copy(cpu_vec.begin(), cpu_vec.end(), gpu_vec.begin());. <a href="#a19621895b23c45e932e4ce15d947b311">More...</a><br/></td></tr>
<tr class="separator:a19621895b23c45e932e4ce15d947b311"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a78227cb6e54e83e2db36ee870773a87d"><td class="memTemplParams" colspan="2">template<typename CPU_ITERATOR , typename NumericT , unsigned int AlignmentV> </td></tr>
<tr class="memitem:a78227cb6e54e83e2db36ee870773a87d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a78227cb6e54e83e2db36ee870773a87d">viennacl::async_copy</a> (CPU_ITERATOR const &cpu_begin, CPU_ITERATOR const &cpu_end, vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > gpu_begin)</td></tr>
<tr class="memdesc:a78227cb6e54e83e2db36ee870773a87d"><td class="mdescLeft"> </td><td class="mdescRight">Asynchronous version of <a class="el" href="namespaceviennacl.html#aaa5c8726b45bc89a523ca2fa8c42107a">fast_copy()</a>, copying data from host to device. The host iterator cpu_begin needs to reside in a linear piece of memory, such as e.g. for std::vector. <a href="#a78227cb6e54e83e2db36ee870773a87d">More...</a><br/></td></tr>
<tr class="separator:a78227cb6e54e83e2db36ee870773a87d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaac9f2de1a2a22c01d1993b2e28f16d9"><td class="memTemplParams" colspan="2">template<typename CPUVECTOR , typename NumericT > </td></tr>
<tr class="memitem:aaac9f2de1a2a22c01d1993b2e28f16d9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#aaac9f2de1a2a22c01d1993b2e28f16d9">viennacl::async_copy</a> (const CPUVECTOR &cpu_vec, vector_base< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a> > &gpu_vec)</td></tr>
<tr class="memdesc:aaac9f2de1a2a22c01d1993b2e28f16d9"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a cpu vector to a gpu vector. Convenience wrapper for viennacl::linalg::fast_copy(cpu_vec.begin(), cpu_vec.end(), gpu_vec.begin());. <a href="#aaac9f2de1a2a22c01d1993b2e28f16d9">More...</a><br/></td></tr>
<tr class="separator:aaac9f2de1a2a22c01d1993b2e28f16d9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a40d083febe39561a435e4972b2d8db1d"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV, typename CPU_ITERATOR > </td></tr>
<tr class="memitem:a40d083febe39561a435e4972b2d8db1d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a40d083febe39561a435e4972b2d8db1d">viennacl::copy</a> (CPU_ITERATOR const &cpu_begin, CPU_ITERATOR const &cpu_end, vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > gpu_begin)</td></tr>
<tr class="memdesc:a40d083febe39561a435e4972b2d8db1d"><td class="mdescLeft"> </td><td class="mdescRight">STL-like transfer for the entries of a GPU vector to the CPU. The cpu type does not need to lie in a linear piece of memory. <a href="#a40d083febe39561a435e4972b2d8db1d">More...</a><br/></td></tr>
<tr class="separator:a40d083febe39561a435e4972b2d8db1d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a644f179cf3142e732c3c57155d73609a"><td class="memTemplParams" colspan="2">template<typename HostVectorT , typename T > </td></tr>
<tr class="memitem:a644f179cf3142e732c3c57155d73609a"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a644f179cf3142e732c3c57155d73609a">viennacl::copy</a> (HostVectorT const &cpu_vec, vector_base< T > &gpu_vec)</td></tr>
<tr class="memdesc:a644f179cf3142e732c3c57155d73609a"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a host vector object to a ViennaCL vector proxy. Requires the vector proxy to have the necessary size. Convenience wrapper for viennacl::linalg::copy(cpu_vec.begin(), cpu_vec.end(), gpu_vec.begin());. <a href="#a644f179cf3142e732c3c57155d73609a">More...</a><br/></td></tr>
<tr class="separator:a644f179cf3142e732c3c57155d73609a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1180fcee62a05d6ec83caf121ee066a5"><td class="memTemplParams" colspan="2">template<typename HostVectorT , typename T , unsigned int AlignmentV> </td></tr>
<tr class="memitem:a1180fcee62a05d6ec83caf121ee066a5"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a1180fcee62a05d6ec83caf121ee066a5">viennacl::copy</a> (HostVectorT const &cpu_vec, vector< T, AlignmentV > &gpu_vec)</td></tr>
<tr class="memdesc:a1180fcee62a05d6ec83caf121ee066a5"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a host vector object to a ViennaCL vector. Resizes the ViennaCL vector if it has zero size. Convenience wrapper for viennacl::linalg::copy(cpu_vec.begin(), cpu_vec.end(), gpu_vec.begin());. <a href="#a1180fcee62a05d6ec83caf121ee066a5">More...</a><br/></td></tr>
<tr class="separator:a1180fcee62a05d6ec83caf121ee066a5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1255fc3e9f9e4d920310e23e19ac0144"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV_SRC, unsigned int AlignmentV_DEST> </td></tr>
<tr class="memitem:a1255fc3e9f9e4d920310e23e19ac0144"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a1255fc3e9f9e4d920310e23e19ac0144">viennacl::copy</a> (const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_SRC > const &gpu_src_begin, const_vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_SRC > const &gpu_src_end, vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_DEST > gpu_dest_begin)</td></tr>
<tr class="memdesc:a1255fc3e9f9e4d920310e23e19ac0144"><td class="mdescLeft"> </td><td class="mdescRight">Copy (parts of a) GPU vector to another GPU vector. <a href="#a1255fc3e9f9e4d920310e23e19ac0144">More...</a><br/></td></tr>
<tr class="separator:a1255fc3e9f9e4d920310e23e19ac0144"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af2540759a464fce64f568ea509d85e24"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV_SRC, unsigned int AlignmentV_DEST> </td></tr>
<tr class="memitem:af2540759a464fce64f568ea509d85e24"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#af2540759a464fce64f568ea509d85e24">viennacl::copy</a> (vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_SRC > const &gpu_src_begin, vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_SRC > const &gpu_src_end, vector_iterator< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_DEST > gpu_dest_begin)</td></tr>
<tr class="memdesc:af2540759a464fce64f568ea509d85e24"><td class="mdescLeft"> </td><td class="mdescRight">Copy (parts of a) GPU vector to another GPU vector. <a href="#af2540759a464fce64f568ea509d85e24">More...</a><br/></td></tr>
<tr class="separator:af2540759a464fce64f568ea509d85e24"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4e7fbf624c47329c1a37ba7eef778262"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV_SRC, unsigned int AlignmentV_DEST> </td></tr>
<tr class="memitem:a4e7fbf624c47329c1a37ba7eef778262"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a4e7fbf624c47329c1a37ba7eef778262">viennacl::copy</a> (vector< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_SRC > const &gpu_src_vec, vector< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV_DEST > &gpu_dest_vec)</td></tr>
<tr class="memdesc:a4e7fbf624c47329c1a37ba7eef778262"><td class="mdescLeft"> </td><td class="mdescRight">Transfer from a ViennaCL vector to another ViennaCL vector. Convenience wrapper for viennacl::linalg::copy(gpu_src_vec.begin(), gpu_src_vec.end(), gpu_dest_vec.begin());. <a href="#a4e7fbf624c47329c1a37ba7eef778262">More...</a><br/></td></tr>
<tr class="separator:a4e7fbf624c47329c1a37ba7eef778262"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab305fb97f519cb1280277cf830e3dfce"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:ab305fb97f519cb1280277cf830e3dfce"><td class="memTemplItemLeft" align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ab305fb97f519cb1280277cf830e3dfce">viennacl::operator<<</a> (std::ostream &os, vector_base< T > const &val)</td></tr>
<tr class="memdesc:ab305fb97f519cb1280277cf830e3dfce"><td class="mdescLeft"> </td><td class="mdescRight">Output stream. Output format is ublas compatible. <a href="#ab305fb97f519cb1280277cf830e3dfce">More...</a><br/></td></tr>
<tr class="separator:ab305fb97f519cb1280277cf830e3dfce"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a21669e48cbc9c19811088f65b1162c1c"><td class="memTemplParams" colspan="2">template<typename LHS , typename RHS , typename OP > </td></tr>
<tr class="memitem:a21669e48cbc9c19811088f65b1162c1c"><td class="memTemplItemLeft" align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a21669e48cbc9c19811088f65b1162c1c">viennacl::operator<<</a> (std::ostream &os, vector_expression< LHS, RHS, OP > const &proxy)</td></tr>
<tr class="separator:a21669e48cbc9c19811088f65b1162c1c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a49233dc20718f52e98e8b06e9711b375"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a49233dc20718f52e98e8b06e9711b375"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a49233dc20718f52e98e8b06e9711b375">viennacl::swap</a> (vector_base< T > &vec1, vector_base< T > &vec2)</td></tr>
<tr class="memdesc:a49233dc20718f52e98e8b06e9711b375"><td class="mdescLeft"> </td><td class="mdescRight">Swaps the contents of two vectors, data is copied. <a href="#a49233dc20718f52e98e8b06e9711b375">More...</a><br/></td></tr>
<tr class="separator:a49233dc20718f52e98e8b06e9711b375"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a495321f19d07b98a5ba433332cb590da"><td class="memTemplParams" colspan="2">template<typename NumericT , unsigned int AlignmentV> </td></tr>
<tr class="memitem:a495321f19d07b98a5ba433332cb590da"><td class="memTemplItemLeft" align="right" valign="top">vector< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a495321f19d07b98a5ba433332cb590da">viennacl::fast_swap</a> (vector< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, vector< <a class="el" href="tests_2src_2bisect_8cpp.html#a52b5d30a2d7b064678644a3bf49b7f6c">NumericT</a>, AlignmentV > &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>)</td></tr>
<tr class="memdesc:a495321f19d07b98a5ba433332cb590da"><td class="mdescLeft"> </td><td class="mdescRight">Swaps the content of two vectors by swapping OpenCL handles only, NO data is copied. <a href="#a495321f19d07b98a5ba433332cb590da">More...</a><br/></td></tr>
<tr class="separator:a495321f19d07b98a5ba433332cb590da"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad54c9bbd40b29f875b0068db0fc194a5"><td class="memTemplParams" colspan="2">template<typename T , typename S1 > </td></tr>
<tr class="memitem:ad54c9bbd40b29f875b0068db0fc194a5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, vector_base< T ><br class="typebreak"/>
& >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ad54c9bbd40b29f875b0068db0fc194a5">viennacl::operator*=</a> (vector_base< T > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, S1 const &gpu_val)</td></tr>
<tr class="memdesc:ad54c9bbd40b29f875b0068db0fc194a5"><td class="mdescLeft"> </td><td class="mdescRight">Scales this vector by a GPU scalar value. <a href="#ad54c9bbd40b29f875b0068db0fc194a5">More...</a><br/></td></tr>
<tr class="separator:ad54c9bbd40b29f875b0068db0fc194a5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4e8d4647a330937c4cc44359b8ec8f52"><td class="memTemplParams" colspan="2">template<typename T , typename S1 > </td></tr>
<tr class="memitem:a4e8d4647a330937c4cc44359b8ec8f52"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, vector_base< T ><br class="typebreak"/>
& >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a4e8d4647a330937c4cc44359b8ec8f52">viennacl::operator/=</a> (vector_base< T > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, S1 const &gpu_val)</td></tr>
<tr class="memdesc:a4e8d4647a330937c4cc44359b8ec8f52"><td class="mdescLeft"> </td><td class="mdescRight">Scales this vector by a GPU scalar value. <a href="#a4e8d4647a330937c4cc44359b8ec8f52">More...</a><br/></td></tr>
<tr class="separator:a4e8d4647a330937c4cc44359b8ec8f52"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab99420063bb11e696007951f6c3208fd"><td class="memTemplParams" colspan="2">template<typename LHS1 , typename RHS1 , typename OP1 , typename LHS2 , typename RHS2 , typename OP2 > </td></tr>
<tr class="memitem:ab99420063bb11e696007951f6c3208fd"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_expression< LHS1, RHS1, <br class="typebreak"/>
OP1 >, const vector_expression<br class="typebreak"/>
< LHS2, RHS2, OP2 ><br class="typebreak"/>
, <a class="el" href="structviennacl_1_1op__add.html">viennacl::op_add</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ab99420063bb11e696007951f6c3208fd">viennacl::operator+</a> (vector_expression< LHS1, RHS1, OP1 > const &proxy1, vector_expression< LHS2, RHS2, OP2 > const &proxy2)</td></tr>
<tr class="memdesc:ab99420063bb11e696007951f6c3208fd"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the addition of two vector expressions. <a href="#ab99420063bb11e696007951f6c3208fd">More...</a><br/></td></tr>
<tr class="separator:ab99420063bb11e696007951f6c3208fd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a30b8516e207086b374e91ce5ca292dca"><td class="memTemplParams" colspan="2">template<typename LHS , typename RHS , typename OP , typename T > </td></tr>
<tr class="memitem:a30b8516e207086b374e91ce5ca292dca"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_expression< LHS, RHS, <br class="typebreak"/>
OP >, const vector_base< T ><br class="typebreak"/>
, <a class="el" href="structviennacl_1_1op__add.html">viennacl::op_add</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a30b8516e207086b374e91ce5ca292dca">viennacl::operator+</a> (vector_expression< LHS, RHS, OP > const &proxy, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:a30b8516e207086b374e91ce5ca292dca"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the addition of a vector expression with a vector or another vector expression. This is the default implementation for all cases that are too complex in order to be covered within a single kernel, hence a temporary vector is created. <a href="#a30b8516e207086b374e91ce5ca292dca">More...</a><br/></td></tr>
<tr class="separator:a30b8516e207086b374e91ce5ca292dca"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a789f52510dc1628aafde1fe379ca1001"><td class="memTemplParams" colspan="2">template<typename T , typename LHS , typename RHS , typename OP > </td></tr>
<tr class="memitem:a789f52510dc1628aafde1fe379ca1001"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const <br class="typebreak"/>
vector_expression< LHS, RHS, <br class="typebreak"/>
OP >, <a class="el" href="structviennacl_1_1op__add.html">viennacl::op_add</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a789f52510dc1628aafde1fe379ca1001">viennacl::operator+</a> (vector_base< T > const &vec, vector_expression< LHS, RHS, OP > const &proxy)</td></tr>
<tr class="memdesc:a789f52510dc1628aafde1fe379ca1001"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the addition of a vector with a vector expression. This is the default implementation for all cases that are too complex in order to be covered within a single kernel, hence a temporary vector is created. <a href="#a789f52510dc1628aafde1fe379ca1001">More...</a><br/></td></tr>
<tr class="separator:a789f52510dc1628aafde1fe379ca1001"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2471d058da27c2588866407382060cc0"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a2471d058da27c2588866407382060cc0"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const <br class="typebreak"/>
vector_base< T >, op_add > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a2471d058da27c2588866407382060cc0">viennacl::operator+</a> (const vector_base< T > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, const vector_base< T > &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>)</td></tr>
<tr class="memdesc:a2471d058da27c2588866407382060cc0"><td class="mdescLeft"> </td><td class="mdescRight">Returns an expression template object for adding up two vectors, i.e. v1 + v2. <a href="#a2471d058da27c2588866407382060cc0">More...</a><br/></td></tr>
<tr class="separator:a2471d058da27c2588866407382060cc0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a9b799cd9d2b4ae4376c5216d5ac93f"><td class="memTemplParams" colspan="2">template<typename LHS1 , typename RHS1 , typename OP1 , typename LHS2 , typename RHS2 , typename OP2 > </td></tr>
<tr class="memitem:a0a9b799cd9d2b4ae4376c5216d5ac93f"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_expression< LHS1, RHS1, <br class="typebreak"/>
OP1 >, const vector_expression<br class="typebreak"/>
< LHS2, RHS2, OP2 ><br class="typebreak"/>
, <a class="el" href="structviennacl_1_1op__sub.html">viennacl::op_sub</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a0a9b799cd9d2b4ae4376c5216d5ac93f">viennacl::operator-</a> (vector_expression< LHS1, RHS1, OP1 > const &proxy1, vector_expression< LHS2, RHS2, OP2 > const &proxy2)</td></tr>
<tr class="memdesc:a0a9b799cd9d2b4ae4376c5216d5ac93f"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the subtraction of two vector expressions. <a href="#a0a9b799cd9d2b4ae4376c5216d5ac93f">More...</a><br/></td></tr>
<tr class="separator:a0a9b799cd9d2b4ae4376c5216d5ac93f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad7dc7568bb713236e55439611520a74d"><td class="memTemplParams" colspan="2">template<typename LHS , typename RHS , typename OP , typename T > </td></tr>
<tr class="memitem:ad7dc7568bb713236e55439611520a74d"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_expression< LHS, RHS, <br class="typebreak"/>
OP >, const vector_base< T ><br class="typebreak"/>
, <a class="el" href="structviennacl_1_1op__sub.html">viennacl::op_sub</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ad7dc7568bb713236e55439611520a74d">viennacl::operator-</a> (vector_expression< LHS, RHS, OP > const &proxy, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:ad7dc7568bb713236e55439611520a74d"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the subtraction of a vector expression with a vector or another vector expression. This is the default implementation for all cases that are too complex in order to be covered within a single kernel, hence a temporary vector is created. <a href="#ad7dc7568bb713236e55439611520a74d">More...</a><br/></td></tr>
<tr class="separator:ad7dc7568bb713236e55439611520a74d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a46d0f226493902ad3c4cf69eb05b3f48"><td class="memTemplParams" colspan="2">template<typename T , typename LHS , typename RHS , typename OP > </td></tr>
<tr class="memitem:a46d0f226493902ad3c4cf69eb05b3f48"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const <br class="typebreak"/>
vector_expression< LHS, RHS, <br class="typebreak"/>
OP >, <a class="el" href="structviennacl_1_1op__sub.html">viennacl::op_sub</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a46d0f226493902ad3c4cf69eb05b3f48">viennacl::operator-</a> (vector_base< T > const &vec, vector_expression< LHS, RHS, OP > const &proxy)</td></tr>
<tr class="memdesc:a46d0f226493902ad3c4cf69eb05b3f48"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the subtraction of a vector expression with a vector or another vector expression. This is the default implementation for all cases that are too complex in order to be covered within a single kernel, hence a temporary vector is created. <a href="#a46d0f226493902ad3c4cf69eb05b3f48">More...</a><br/></td></tr>
<tr class="separator:a46d0f226493902ad3c4cf69eb05b3f48"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab2a0eb807884794e795aec5ec78353a4"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:ab2a0eb807884794e795aec5ec78353a4"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const <br class="typebreak"/>
vector_base< T >, op_sub > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ab2a0eb807884794e795aec5ec78353a4">viennacl::operator-</a> (const vector_base< T > &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, const vector_base< T > &<a class="el" href="global__variables_8cpp.html#a9b48d95dbfbe8e26ae8911c753406d37">v2</a>)</td></tr>
<tr class="memdesc:ab2a0eb807884794e795aec5ec78353a4"><td class="mdescLeft"> </td><td class="mdescRight">Returns an expression template object for subtracting two vectors, i.e. v1 - v2. <a href="#ab2a0eb807884794e795aec5ec78353a4">More...</a><br/></td></tr>
<tr class="separator:ab2a0eb807884794e795aec5ec78353a4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5f3c224d905d0e584fb72e566ed64977"><td class="memTemplParams" colspan="2">template<typename S1 , typename T > </td></tr>
<tr class="memitem:a5f3c224d905d0e584fb72e566ed64977"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, vector_expression<br class="typebreak"/>
< const vector_base< T ><br class="typebreak"/>
, const S1, op_mult > >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a5f3c224d905d0e584fb72e566ed64977">viennacl::operator*</a> (S1 const &value, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:a5f3c224d905d0e584fb72e566ed64977"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a host scalar (float or double) and v1 is a ViennaCL vector. <a href="#a5f3c224d905d0e584fb72e566ed64977">More...</a><br/></td></tr>
<tr class="separator:a5f3c224d905d0e584fb72e566ed64977"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1aa648c88a546872e66f73ae6b6f8c84"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a1aa648c88a546872e66f73ae6b6f8c84"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const T, <br class="typebreak"/>
op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a1aa648c88a546872e66f73ae6b6f8c84">viennacl::operator*</a> (char value, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:a1aa648c88a546872e66f73ae6b6f8c84"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a char. <a href="#a1aa648c88a546872e66f73ae6b6f8c84">More...</a><br/></td></tr>
<tr class="separator:a1aa648c88a546872e66f73ae6b6f8c84"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5f6a0765c929401a06741a1c837a7af3"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a5f6a0765c929401a06741a1c837a7af3"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const T, <br class="typebreak"/>
op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a5f6a0765c929401a06741a1c837a7af3">viennacl::operator*</a> (short value, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:a5f6a0765c929401a06741a1c837a7af3"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a short. <a href="#a5f6a0765c929401a06741a1c837a7af3">More...</a><br/></td></tr>
<tr class="separator:a5f6a0765c929401a06741a1c837a7af3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a53f54b5071fc459f13261a08c0ea6ee5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a53f54b5071fc459f13261a08c0ea6ee5"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const T, <br class="typebreak"/>
op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a53f54b5071fc459f13261a08c0ea6ee5">viennacl::operator*</a> (int value, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:a53f54b5071fc459f13261a08c0ea6ee5"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a int. <a href="#a53f54b5071fc459f13261a08c0ea6ee5">More...</a><br/></td></tr>
<tr class="separator:a53f54b5071fc459f13261a08c0ea6ee5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a902d3e1f3473a758e15b232f07e7b11e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a902d3e1f3473a758e15b232f07e7b11e"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const T, <br class="typebreak"/>
op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a902d3e1f3473a758e15b232f07e7b11e">viennacl::operator*</a> (long value, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:a902d3e1f3473a758e15b232f07e7b11e"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a long. <a href="#a902d3e1f3473a758e15b232f07e7b11e">More...</a><br/></td></tr>
<tr class="separator:a902d3e1f3473a758e15b232f07e7b11e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7b11d21434d517b5c4d8603493932d4a"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a7b11d21434d517b5c4d8603493932d4a"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const T, <br class="typebreak"/>
op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a7b11d21434d517b5c4d8603493932d4a">viennacl::operator*</a> (float value, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:a7b11d21434d517b5c4d8603493932d4a"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a float. <a href="#a7b11d21434d517b5c4d8603493932d4a">More...</a><br/></td></tr>
<tr class="separator:a7b11d21434d517b5c4d8603493932d4a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab2c30c728d36beb46da292e2a3aad436"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:ab2c30c728d36beb46da292e2a3aad436"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const T, <br class="typebreak"/>
op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ab2c30c728d36beb46da292e2a3aad436">viennacl::operator*</a> (double value, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:ab2c30c728d36beb46da292e2a3aad436"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a double. <a href="#ab2c30c728d36beb46da292e2a3aad436">More...</a><br/></td></tr>
<tr class="separator:ab2c30c728d36beb46da292e2a3aad436"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac34b0528ba9cb2a8e586a64bafc3a1b1"><td class="memTemplParams" colspan="2">template<typename LHS , typename RHS , typename OP , typename T > </td></tr>
<tr class="memitem:ac34b0528ba9cb2a8e586a64bafc3a1b1"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const <br class="typebreak"/>
scalar_expression< LHS, RHS, <br class="typebreak"/>
OP >, op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#ac34b0528ba9cb2a8e586a64bafc3a1b1">viennacl::operator*</a> (scalar_expression< LHS, RHS, OP > const &expr, vector_base< T > const &vec)</td></tr>
<tr class="memdesc:ac34b0528ba9cb2a8e586a64bafc3a1b1"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the expression alpha * v1, where alpha is a scalar expression and v1 is a ViennaCL vector. <a href="#ac34b0528ba9cb2a8e586a64bafc3a1b1">More...</a><br/></td></tr>
<tr class="separator:ac34b0528ba9cb2a8e586a64bafc3a1b1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a64b79b9c7e7b0c0d4e838a6a8727c34e"><td class="memTemplParams" colspan="2">template<typename T , typename S1 > </td></tr>
<tr class="memitem:a64b79b9c7e7b0c0d4e838a6a8727c34e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, vector_expression<br class="typebreak"/>
< const vector_base< T ><br class="typebreak"/>
, const S1, op_mult > >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a64b79b9c7e7b0c0d4e838a6a8727c34e">viennacl::operator*</a> (vector_base< T > const &vec, S1 const &value)</td></tr>
<tr class="memdesc:a64b79b9c7e7b0c0d4e838a6a8727c34e"><td class="mdescLeft"> </td><td class="mdescRight">Scales the vector by a scalar 'alpha' and returns an expression template. <a href="#a64b79b9c7e7b0c0d4e838a6a8727c34e">More...</a><br/></td></tr>
<tr class="separator:a64b79b9c7e7b0c0d4e838a6a8727c34e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a595de671ea4e3f2b0bb5eebb01458168"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a595de671ea4e3f2b0bb5eebb01458168"><td class="memTemplItemLeft" align="right" valign="top">vector_expression< const <br class="typebreak"/>
vector_base< T >, const T, <br class="typebreak"/>
op_mult > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a595de671ea4e3f2b0bb5eebb01458168">viennacl::operator*</a> (vector_base< T > const &vec, T const &value)</td></tr>
<tr class="separator:a595de671ea4e3f2b0bb5eebb01458168"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa92923ca916177c1864962bfb1443622"><td class="memTemplParams" colspan="2">template<typename LHS , typename RHS , typename OP , typename S1 > </td></tr>
<tr class="memitem:aa92923ca916177c1864962bfb1443622"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, <br class="typebreak"/>
<a class="el" href="classviennacl_1_1vector__expression.html">viennacl::vector_expression</a><br class="typebreak"/>
< const vector_expression< LHS, <br class="typebreak"/>
RHS, OP >, const S1, op_mult ><br class="typebreak"/>
>::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#aa92923ca916177c1864962bfb1443622">viennacl::operator*</a> (vector_expression< LHS, RHS, OP > const &proxy, S1 const &val)</td></tr>
<tr class="memdesc:aa92923ca916177c1864962bfb1443622"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the multiplication of a vector expression with a scalar from the right, e.g. (beta * vec1) * alpha. Here, beta * vec1 is wrapped into a <a class="el" href="classviennacl_1_1vector__expression.html" title="An expression template class that represents a binary operation that yields a vector. ">vector_expression</a> and then multiplied with alpha from the right. <a href="#aa92923ca916177c1864962bfb1443622">More...</a><br/></td></tr>
<tr class="separator:aa92923ca916177c1864962bfb1443622"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af9d86b7600ba400a9c865a5c23093254"><td class="memTemplParams" colspan="2">template<typename S1 , typename LHS , typename RHS , typename OP > </td></tr>
<tr class="memitem:af9d86b7600ba400a9c865a5c23093254"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, <br class="typebreak"/>
<a class="el" href="classviennacl_1_1vector__expression.html">viennacl::vector_expression</a><br class="typebreak"/>
< const vector_expression< LHS, <br class="typebreak"/>
RHS, OP >, const S1, op_mult ><br class="typebreak"/>
>::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#af9d86b7600ba400a9c865a5c23093254">viennacl::operator*</a> (S1 const &val, vector_expression< LHS, RHS, OP > const &proxy)</td></tr>
<tr class="memdesc:af9d86b7600ba400a9c865a5c23093254"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the multiplication of a vector expression with a ViennaCL scalar from the left, e.g. alpha * (beta * vec1). Here, beta * vec1 is wrapped into a <a class="el" href="classviennacl_1_1vector__expression.html" title="An expression template class that represents a binary operation that yields a vector. ">vector_expression</a> and then multiplied with alpha from the left. <a href="#af9d86b7600ba400a9c865a5c23093254">More...</a><br/></td></tr>
<tr class="separator:af9d86b7600ba400a9c865a5c23093254"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a810958ed96dd36b31993919612fa85d2"><td class="memTemplParams" colspan="2">template<typename S1 , typename LHS , typename RHS , typename OP > </td></tr>
<tr class="memitem:a810958ed96dd36b31993919612fa85d2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, <br class="typebreak"/>
<a class="el" href="classviennacl_1_1vector__expression.html">viennacl::vector_expression</a><br class="typebreak"/>
< const vector_expression< LHS, <br class="typebreak"/>
RHS, OP >, const S1, op_div ><br class="typebreak"/>
>::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a810958ed96dd36b31993919612fa85d2">viennacl::operator/</a> (vector_expression< LHS, RHS, OP > const &proxy, S1 const &val)</td></tr>
<tr class="memdesc:a810958ed96dd36b31993919612fa85d2"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload for the division of a vector expression by a scalar from the right, e.g. (beta * vec1) / alpha. Here, beta * vec1 is wrapped into a <a class="el" href="classviennacl_1_1vector__expression.html" title="An expression template class that represents a binary operation that yields a vector. ">vector_expression</a> and then divided by alpha. <a href="#a810958ed96dd36b31993919612fa85d2">More...</a><br/></td></tr>
<tr class="separator:a810958ed96dd36b31993919612fa85d2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8af63f5e1e3c138c901f53562d22ba18"><td class="memTemplParams" colspan="2">template<typename T , typename S1 > </td></tr>
<tr class="memitem:a8af63f5e1e3c138c901f53562d22ba18"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structviennacl_1_1enable__if.html">viennacl::enable_if</a><br class="typebreak"/>
< <a class="el" href="structviennacl_1_1is__any__scalar.html">viennacl::is_any_scalar</a>< S1 ><br class="typebreak"/>
::value, vector_expression<br class="typebreak"/>
< const vector_base< T ><br class="typebreak"/>
, const S1, op_div > >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceviennacl.html#a8af63f5e1e3c138c901f53562d22ba18">viennacl::operator/</a> (vector_base< T > const &<a class="el" href="global__variables_8cpp.html#a1d3b09c2337808223ca760c55bdf5414">v1</a>, S1 const &<a class="el" href="global__variables_8cpp.html#a24573a2e279db4db9228d18dfbf27eae">s1</a>)</td></tr>
<tr class="memdesc:a8af63f5e1e3c138c901f53562d22ba18"><td class="mdescLeft"> </td><td class="mdescRight">Returns an expression template for scaling the vector by a GPU scalar 'alpha'. <a href="#a8af63f5e1e3c138c901f53562d22ba18">More...</a><br/></td></tr>
<tr class="separator:a8af63f5e1e3c138c901f53562d22ba18"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations such as norms and inner products are located in <a class="el" href="vector__operations_8hpp.html" title="Implementations of vector operations. ">linalg/vector_operations.hpp</a>. </p>
<p>Definition in file <a class="el" href="vector_8hpp_source.html">vector.hpp</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_c82e3d11dd171600f4a6e0cab1ec1e0d.html">viennacl</a></li><li class="navelem"><a class="el" href="vector_8hpp.html">vector.hpp</a></li>
<li class="footer">Generated on Wed Jan 20 2016 22:32:44 for ViennaCL - The Vienna Computing Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>
|