documentation for v1.0

This commit is contained in:
HRN
2025-01-10 13:02:07 +03:30
parent 53c7b23728
commit 0acd52f1b1
16893 changed files with 448346 additions and 285977 deletions

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="description" content="PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.">
<title>PhasicFlow: src/phasicFlow/structuredData/pointStructure/mortonIndexing.hpp Source File</title>
<title>PhasicFlow: src/phasicFlow/structuredData/pointStructure/pointStructure/pointSorting/mortonIndexing.hpp Source File</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>
@ -124,96 +124,95 @@ $(document).ready(function(){initNavTree('mortonIndexing_8hpp_source.html','');
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __mortonIndexing_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __mortonIndexing_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="types_8hpp.html">types.hpp</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="box_8hpp.html">box.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="indexContainer_8hpp.html">indexContainer.hpp</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef __mortonIndexing_hpp__</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define __mortonIndexing_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="types_8hpp.html">types.hpp</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="box_8hpp.html">box.hpp</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="indexContainer_8hpp.html">indexContainer.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFlag_8hpp.html">pointFlag.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespacepFlow.html#a493862193d78c409ce4ddb2b4d49c17f">getSortedIndex</a>(</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<a class="code" href="namespacepFlow.html#ace91b5b09f95f3d8409247898e688e9b">uint32IndexContainer</a> <a class="code" href="namespacepFlow.html#a0326b52c0c892dc9732af2580c7bfe6d">getSortedIndices</a>(</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; box boundingBox,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dx, </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacepFlow.html#a304d8581876270871949bf5d4755036a">range</a> activeRange, </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; ViewType1D&lt;realx3&gt; pos, </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; ViewType1D&lt;int8&gt; flag,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a27c4d9af27a6e7595097b77d05874147">int32IndexContainer</a>&amp; sortedIndex);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;uint64_t <a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(<span class="keyword">const</span> uint64_t val){</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; uint64_t x = val;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; x = (x | x &lt;&lt; 32) &amp; 0x1f00000000ffff;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; x = (x | x &lt;&lt; 16) &amp; 0x1f0000ff0000ff;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; x = (x | x &lt;&lt; 8) &amp; 0x100f00f00f00f00f;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; x = (x | x &lt;&lt; 4) &amp; 0x10c30c30c30c30c3;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; x = (x | x &lt;&lt; 2) &amp; 0x1249249249249249;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> x;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;uint64_t <a class="code" href="namespacepFlow.html#af9e399d88da408c52c6c167b651766e5">xyzToMortonCode64</a>(uint64_t x, uint64_t y, uint64_t z)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(x) | (<a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(y) &lt;&lt; 1) | (<a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(z) &lt;&lt; 2);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;uint64_t <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(uint64_t x)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; x = x &amp; 0x9249249249249249;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; x = (x | (x &gt;&gt; 2)) &amp; 0x30c30c30c30c30c3;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; x = (x | (x &gt;&gt; 4)) &amp; 0xf00f00f00f00f00f;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; x = (x | (x &gt;&gt; 8)) &amp; 0x00ff0000ff0000ff;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; x = (x | (x &gt;&gt; 16)) &amp; 0xffff00000000ffff;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; x = (x | (x &gt;&gt; 32)) &amp; 0x00000000ffffffff;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> x;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacepFlow.html#a48c34bfcf0b43fb8bd3a0ffc596b751d">mortonCode64Toxyz</a>(uint64_t morton, uint64_t&amp; x, uint64_t&amp; y, uint64_t&amp; z)</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; x = <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(morton);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; y = <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(morton &gt;&gt; 1);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; z = <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(morton &gt;&gt; 2);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structpFlow_1_1indexMorton.html"> 79</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structpFlow_1_1indexMorton.html">indexMorton</a></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structpFlow_1_1indexMorton.html#aabba5d6dbf57414c0d089150a2a8b3d8"> 81</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structpFlow_1_1indexMorton.html#aabba5d6dbf57414c0d089150a2a8b3d8">morton</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structpFlow_1_1indexMorton.html#a3f42f10d93f6edb91d7d3f6edad25921"> 82</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structpFlow_1_1indexMorton.html#a3f42f10d93f6edb91d7d3f6edad25921">index</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;};</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dx, </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">const</span> ViewType1D&lt;realx3&gt;&amp; pos, </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a9a87272f235780fa7725c23a9da79011">pFlagTypeDevice</a>&amp; flag);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;uint64_t <a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(<span class="keyword">const</span> uint64_t val){</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; uint64_t x = val;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; x = (x | x &lt;&lt; 32) &amp; 0x1f00000000ffff;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; x = (x | x &lt;&lt; 16) &amp; 0x1f0000ff0000ff;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; x = (x | x &lt;&lt; 8) &amp; 0x100f00f00f00f00f;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; x = (x | x &lt;&lt; 4) &amp; 0x10c30c30c30c30c3;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; x = (x | x &lt;&lt; 2) &amp; 0x1249249249249249;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> x;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;}</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;uint64_t <a class="code" href="namespacepFlow.html#af9e399d88da408c52c6c167b651766e5">xyzToMortonCode64</a>(uint64_t x, uint64_t y, uint64_t z)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(x) | (<a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(y) &lt;&lt; 1) | (<a class="code" href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">splitBy3</a>(z) &lt;&lt; 2);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;uint64_t <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(uint64_t x)</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; x = x &amp; 0x9249249249249249;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; x = (x | (x &gt;&gt; 2)) &amp; 0x30c30c30c30c30c3;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; x = (x | (x &gt;&gt; 4)) &amp; 0xf00f00f00f00f00f;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; x = (x | (x &gt;&gt; 8)) &amp; 0x00ff0000ff0000ff;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; x = (x | (x &gt;&gt; 16)) &amp; 0xffff00000000ffff;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; x = (x | (x &gt;&gt; 32)) &amp; 0x00000000ffffffff;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> x;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;}</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacepFlow.html#a48c34bfcf0b43fb8bd3a0ffc596b751d">mortonCode64Toxyz</a>(uint64_t morton, uint64_t&amp; x, uint64_t&amp; y, uint64_t&amp; z)</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;{</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; x = <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(morton);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; y = <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(morton &gt;&gt; 1);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; z = <a class="code" href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">getThirdBits</a>(morton &gt;&gt; 2);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structpFlow_1_1indexMorton.html"> 77</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structpFlow_1_1indexMorton.html">indexMorton</a></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structpFlow_1_1indexMorton.html#aabba5d6dbf57414c0d089150a2a8b3d8"> 79</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structpFlow_1_1indexMorton.html#aabba5d6dbf57414c0d089150a2a8b3d8">morton</a>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structpFlow_1_1indexMorton.html#a3f42f10d93f6edb91d7d3f6edad25921"> 80</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structpFlow_1_1indexMorton.html#a3f42f10d93f6edb91d7d3f6edad25921">index</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;};</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;}</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#endif //__mortonIndexing_hpp__</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor">#endif //__mortonIndexing_hpp__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00046">builtinTypes.hpp:46</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a304d8581876270871949bf5d4755036a"><div class="ttname"><a href="namespacepFlow.html#a304d8581876270871949bf5d4755036a">pFlow::range</a></div><div class="ttdeci">kRange&lt; int &gt; range</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00059">KokkosTypes.hpp:59</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="atypes_8hpp_html"><div class="ttname"><a href="types_8hpp.html">types.hpp</a></div></div>
<div class="ttc" id="abox_8hpp_html"><div class="ttname"><a href="box_8hpp.html">box.hpp</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a493862193d78c409ce4ddb2b4d49c17f"><div class="ttname"><a href="namespacepFlow.html#a493862193d78c409ce4ddb2b4d49c17f">pFlow::getSortedIndex</a></div><div class="ttdeci">bool getSortedIndex(box boundingBox, real dx, range activeRange, ViewType1D&lt; realx3 &gt; pos, ViewType1D&lt; int8 &gt; flag, int32IndexContainer &amp;sortedIndex)</div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8cpp_source.html#l00026">mortonIndexing.cpp:26</a></div></div>
<div class="ttc" id="astructpFlow_1_1indexMorton_html"><div class="ttname"><a href="structpFlow_1_1indexMorton.html">pFlow::indexMorton</a></div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8hpp_source.html#l00079">mortonIndexing.hpp:79</a></div></div>
<div class="ttc" id="astructpFlow_1_1indexMorton_html"><div class="ttname"><a href="structpFlow_1_1indexMorton.html">pFlow::indexMorton</a></div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8hpp_source.html#l00077">mortonIndexing.hpp:77</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a48c34bfcf0b43fb8bd3a0ffc596b751d"><div class="ttname"><a href="namespacepFlow.html#a48c34bfcf0b43fb8bd3a0ffc596b751d">pFlow::mortonCode64Toxyz</a></div><div class="ttdeci">INLINE_FUNCTION_HD void mortonCode64Toxyz(uint64_t morton, uint64_t &amp;x, uint64_t &amp;y, uint64_t &amp;z)</div><div class="ttdef"><b>Definition:</b> <a href="contactSearchFunctions_8hpp_source.html#l00062">contactSearchFunctions.hpp:62</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demComponent_8hpp_source.html#l00028">demComponent.hpp:28</a></div></div>
<div class="ttc" id="astructpFlow_1_1indexMorton_html_a3f42f10d93f6edb91d7d3f6edad25921"><div class="ttname"><a href="structpFlow_1_1indexMorton.html#a3f42f10d93f6edb91d7d3f6edad25921">pFlow::indexMorton::index</a></div><div class="ttdeci">size_t index</div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8hpp_source.html#l00082">mortonIndexing.hpp:82</a></div></div>
<div class="ttc" id="anamespacepFlow_html_ace91b5b09f95f3d8409247898e688e9b"><div class="ttname"><a href="namespacepFlow.html#ace91b5b09f95f3d8409247898e688e9b">pFlow::uint32IndexContainer</a></div><div class="ttdeci">indexContainer&lt; uint32 &gt; uint32IndexContainer</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00286">indexContainer.hpp:286</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0326b52c0c892dc9732af2580c7bfe6d"><div class="ttname"><a href="namespacepFlow.html#a0326b52c0c892dc9732af2580c7bfe6d">pFlow::getSortedIndices</a></div><div class="ttdeci">uint32IndexContainer getSortedIndices(box boundingBox, real dx, const ViewType1D&lt; realx3 &gt; &amp;pos, const pFlagTypeDevice &amp;flag)</div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8cpp_source.html#l00024">mortonIndexing.cpp:24</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="astructpFlow_1_1indexMorton_html_a3f42f10d93f6edb91d7d3f6edad25921"><div class="ttname"><a href="structpFlow_1_1indexMorton.html#a3f42f10d93f6edb91d7d3f6edad25921">pFlow::indexMorton::index</a></div><div class="ttdeci">size_t index</div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8hpp_source.html#l00080">mortonIndexing.hpp:80</a></div></div>
<div class="ttc" id="anamespacepFlow_html_af9e399d88da408c52c6c167b651766e5"><div class="ttname"><a href="namespacepFlow.html#af9e399d88da408c52c6c167b651766e5">pFlow::xyzToMortonCode64</a></div><div class="ttdeci">INLINE_FUNCTION_HD uint64_t xyzToMortonCode64(uint64_t x, uint64_t y, uint64_t z)</div><div class="ttdef"><b>Definition:</b> <a href="contactSearchFunctions_8hpp_source.html#l00042">contactSearchFunctions.hpp:42</a></div></div>
<div class="ttc" id="astructpFlow_1_1indexMorton_html_aabba5d6dbf57414c0d089150a2a8b3d8"><div class="ttname"><a href="structpFlow_1_1indexMorton.html#aabba5d6dbf57414c0d089150a2a8b3d8">pFlow::indexMorton::morton</a></div><div class="ttdeci">size_t morton</div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8hpp_source.html#l00081">mortonIndexing.hpp:81</a></div></div>
<div class="ttc" id="astructpFlow_1_1indexMorton_html_aabba5d6dbf57414c0d089150a2a8b3d8"><div class="ttname"><a href="structpFlow_1_1indexMorton.html#aabba5d6dbf57414c0d089150a2a8b3d8">pFlow::indexMorton::morton</a></div><div class="ttdeci">size_t morton</div><div class="ttdef"><b>Definition:</b> <a href="mortonIndexing_8hpp_source.html#l00079">mortonIndexing.hpp:79</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a51e811dd5563b1e1b759b091ef96c339"><div class="ttname"><a href="namespacepFlow.html#a51e811dd5563b1e1b759b091ef96c339">pFlow::getThirdBits</a></div><div class="ttdeci">INLINE_FUNCTION_HD uint64_t getThirdBits(uint64_t x)</div><div class="ttdef"><b>Definition:</b> <a href="contactSearchFunctions_8hpp_source.html#l00049">contactSearchFunctions.hpp:49</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a09e092ab61b90f5515d60a7eb0d7e524"><div class="ttname"><a href="namespacepFlow.html#a09e092ab61b90f5515d60a7eb0d7e524">pFlow::splitBy3</a></div><div class="ttdeci">INLINE_FUNCTION_HD uint64_t splitBy3(const uint64_t val)</div><div class="ttdef"><b>Definition:</b> <a href="contactSearchFunctions_8hpp_source.html#l00031">contactSearchFunctions.hpp:31</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a27c4d9af27a6e7595097b77d05874147"><div class="ttname"><a href="namespacepFlow.html#a27c4d9af27a6e7595097b77d05874147">pFlow::int32IndexContainer</a></div><div class="ttdeci">indexContainer&lt; int32 &gt; int32IndexContainer</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00221">indexContainer.hpp:221</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a8e2f73fa5c113f21c9c9edb67a974f5e"><div class="ttname"><a href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div><div class="ttdeci">#define INLINE_FUNCTION_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00051">pFlowMacros.hpp:51</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a8e2f73fa5c113f21c9c9edb67a974f5e"><div class="ttname"><a href="pFlowMacros_8hpp.html#a8e2f73fa5c113f21c9c9edb67a974f5e">INLINE_FUNCTION_HD</a></div><div class="ttdeci">#define INLINE_FUNCTION_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00055">pFlowMacros.hpp:55</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a9a87272f235780fa7725c23a9da79011"><div class="ttname"><a href="namespacepFlow.html#a9a87272f235780fa7725c23a9da79011">pFlow::pFlagTypeDevice</a></div><div class="ttdeci">pointFlag&lt; DefaultExecutionSpace &gt; pFlagTypeDevice</div><div class="ttdef"><b>Definition:</b> <a href="pointFlag_8hpp_source.html#l00387">pointFlag.hpp:387</a></div></div>
<div class="ttc" id="aindexContainer_8hpp_html"><div class="ttname"><a href="indexContainer_8hpp.html">indexContainer.hpp</a></div></div>
<div class="ttc" id="apointFlag_8hpp_html"><div class="ttname"><a href="pointFlag_8hpp.html">pointFlag.hpp</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_0b265ec0eb5bc5fbad75b6fd7b5b024b.html">structuredData</a></li><li class="navelem"><a class="el" href="dir_40d089f5b6543888409b0c9c3858ee92.html">pointStructure</a></li><li class="navelem"><a class="el" href="mortonIndexing_8hpp.html">mortonIndexing.hpp</a></li>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_0b265ec0eb5bc5fbad75b6fd7b5b024b.html">structuredData</a></li><li class="navelem"><a class="el" href="dir_40d089f5b6543888409b0c9c3858ee92.html">pointStructure</a></li><li class="navelem"><a class="el" href="dir_ab1bedec1dabb2ed23fd7ef97be7faaf.html">pointStructure</a></li><li class="navelem"><a class="el" href="dir_ac99ced07b260fc3f919077327d70a7b.html">pointSorting</a></li><li class="navelem"><a class="el" href="mortonIndexing_8hpp.html">mortonIndexing.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>