<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!-- Generated by graphviz version 2.40.1 (20161225.0304) --> <!-- Title: __gnu_parallel::__parallel_sort Pages: 1 --> <svg width="805pt" height="196pt" viewBox="0.00 0.00 805.00 196.33" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 192.3255)"> <title>__gnu_parallel::__parallel_sort</title> <polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-192.3255 801,-192.3255 801,4 -4,4"/> <!-- Node11 --> <g id="node1" class="node"> <title>Node11</title> <g id="a_node1"><a xlink:title="Choose a parallel sorting algorithm."> <polygon fill="#bfbfbf" stroke="#000000" points="0,-93.8255 0,-111.8255 145,-111.8255 145,-93.8255 0,-93.8255"/> <text text-anchor="middle" x="72.5" y="-100.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__parallel_sort</text> </a> </g> </g> <!-- Node12 --> <g id="node2" class="node"> <title>Node12</title> <g id="a_node2"><a xlink:href="a09640.html#a18b32829b31b902699690b750e190e59" target="_top" xlink:title="Find out desired number of threads."> <polygon fill="#ffffff" stroke="#000000" points="182.5,-159.8255 182.5,-187.8255 304.5,-187.8255 304.5,-159.8255 182.5,-159.8255"/> <text text-anchor="start" x="190.5" y="-176.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::parallel</text> <text text-anchor="middle" x="243.5" y="-166.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">_tag::__get_num_threads</text> </a> </g> </g> <!-- Node11->Node12 --> <g id="edge1" class="edge"> <title>Node11->Node12</title> <path fill="none" stroke="#191970" d="M91.9403,-111.8758C113.5295,-121.8207 149.4959,-138.0753 181,-150.8255 185.3909,-152.6026 189.9771,-154.3999 194.5836,-156.1655"/> <polygon fill="#191970" stroke="#191970" points="193.4199,-159.4673 204.0116,-159.7284 195.8945,-152.9193 193.4199,-159.4673"/> </g> <!-- Node13 --> <g id="node3" class="node"> <title>Node13</title> <g id="a_node3"><a xlink:href="a01572.html#ac416a1c7e347b429bbf7a8fb17e847b2" target="_top" xlink:title="Unbalanced quicksort main call."> <polygon fill="#ffffff" stroke="#000000" points="181,-112.8255 181,-140.8255 306,-140.8255 306,-112.8255 181,-112.8255"/> <text text-anchor="start" x="189" y="-129.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__parallel</text> <text text-anchor="middle" x="243.5" y="-119.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">_sort_qs</text> </a> </g> </g> <!-- Node11->Node13 --> <g id="edge2" class="edge"> <title>Node11->Node13</title> <path fill="none" stroke="#191970" d="M136.6606,-111.8305C147.8752,-113.4045 159.6131,-115.0519 171.0333,-116.6548"/> <polygon fill="#191970" stroke="#191970" points="170.5769,-120.1249 180.9663,-118.0489 171.5499,-113.1929 170.5769,-120.1249"/> </g> <!-- Node15 --> <g id="node5" class="node"> <title>Node15</title> <g id="a_node5"><a xlink:href="a01572.html#a4093dd098b32542e3d3f43ebd4c6f940" target="_top" xlink:title="Top-level quicksort routine."> <polygon fill="#ffffff" stroke="#000000" points="181,-65.8255 181,-93.8255 306,-93.8255 306,-65.8255 181,-65.8255"/> <text text-anchor="start" x="189" y="-82.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__parallel</text> <text text-anchor="middle" x="243.5" y="-72.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">_sort_qsb</text> </a> </g> </g> <!-- Node11->Node15 --> <g id="edge4" class="edge"> <title>Node11->Node15</title> <path fill="none" stroke="#191970" d="M139.5929,-93.8013C149.7684,-92.4327 160.309,-91.0149 170.6006,-89.6307"/> <polygon fill="#191970" stroke="#191970" points="171.3423,-93.0625 180.7865,-88.2607 170.4091,-86.125 171.3423,-93.0625"/> </g> <!-- Node20 --> <g id="node10" class="node"> <title>Node20</title> <g id="a_node10"><a xlink:href="a09632.html#abc4965eacae0b49945ebc887cb11adc1" target="_top" xlink:title="Get the global settings."> <polygon fill="#ffffff" stroke="#000000" points="658,-30.8255 658,-48.8255 797,-48.8255 797,-30.8255 658,-30.8255"/> <text text-anchor="middle" x="727.5" y="-37.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::_Settings::get</text> </a> </g> </g> <!-- Node11->Node20 --> <g id="edge11" class="edge"> <title>Node11->Node20</title> <path fill="none" stroke="#191970" d="M91.7803,-93.6792C113.2293,-83.7345 149.0737,-67.7964 181,-56.8255 367.2404,7.1726 426.506,9.9087 622,-13.8255 644.4849,-16.5553 669.0862,-22.444 688.8723,-27.9279"/> <polygon fill="#191970" stroke="#191970" points="688.1672,-31.3662 698.7435,-30.7399 690.085,-24.6341 688.1672,-31.3662"/> </g> <!-- Node14 --> <g id="node4" class="node"> <title>Node14</title> <g id="a_node4"><a xlink:href="a01572.html#a06c506308856b684737d24944a93a42e" target="_top" xlink:title="Unbalanced quicksort conquer step."> <polygon fill="#ffffff" stroke="#000000" points="342,-144.8255 342,-172.8255 467,-172.8255 467,-144.8255 342,-144.8255"/> <text text-anchor="start" x="350" y="-161.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__parallel</text> <text text-anchor="middle" x="404.5" y="-151.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">_sort_qs_conquer</text> </a> </g> </g> <!-- Node13->Node14 --> <g id="edge3" class="edge"> <title>Node13->Node14</title> <path fill="none" stroke="#191970" d="M306.2078,-139.2892C314.6481,-140.9668 323.3631,-142.6989 331.9559,-144.4068"/> <polygon fill="#191970" stroke="#191970" points="331.4729,-147.8792 341.9633,-146.3959 332.8375,-141.0135 331.4729,-147.8792"/> </g> <!-- Node16 --> <g id="node6" class="node"> <title>Node16</title> <g id="a_node6"><a xlink:href="a01572.html#ae8e1f6dc07de01f28bf591339cf8aa9c" target="_top" xlink:title="Calculates the rounded-down logarithm of __n for base 2."> <polygon fill="#ffffff" stroke="#000000" points="342,-107.8255 342,-125.8255 467,-125.8255 467,-107.8255 342,-107.8255"/> <text text-anchor="middle" x="404.5" y="-114.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__rd_log2</text> </a> </g> </g> <!-- Node15->Node16 --> <g id="edge5" class="edge"> <title>Node15->Node16</title> <path fill="none" stroke="#191970" d="M304.8265,-93.9192C321.4469,-97.7388 339.2251,-101.8244 355.0974,-105.4721"/> <polygon fill="#191970" stroke="#191970" points="354.6913,-108.97 365.2212,-107.7987 356.2592,-102.1478 354.6913,-108.97"/> </g> <!-- Node17 --> <g id="node7" class="node"> <title>Node17</title> <g id="a_node7"><a xlink:href="a01477.html#ga0409e288f07b697cb6885d1002df0bd6" target="_top" xlink:title="A convenience wrapper for creating a pair from two objects."> <polygon fill="#ffffff" stroke="#000000" points="366,-70.8255 366,-88.8255 443,-88.8255 443,-70.8255 366,-70.8255"/> <text text-anchor="middle" x="404.5" y="-77.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">std::make_pair</text> </a> </g> </g> <!-- Node15->Node17 --> <g id="edge6" class="edge"> <title>Node15->Node17</title> <path fill="none" stroke="#191970" d="M306.2078,-79.8255C322.5641,-79.8255 339.952,-79.8255 355.4838,-79.8255"/> <polygon fill="#191970" stroke="#191970" points="355.9045,-83.3256 365.9045,-79.8255 355.9045,-76.3256 355.9045,-83.3256"/> </g> <!-- Node18 --> <g id="node8" class="node"> <title>Node18</title> <g id="a_node8"><a xlink:href="a01572.html#a8d9c5686c4621822c7c3cdd015f7e693" target="_top" xlink:title="Quicksort conquer step."> <polygon fill="#ffffff" stroke="#000000" points="350,-23.8255 350,-51.8255 459,-51.8255 459,-23.8255 350,-23.8255"/> <text text-anchor="start" x="358" y="-40.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__qsb</text> <text text-anchor="middle" x="404.5" y="-30.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">_conquer</text> </a> </g> </g> <!-- Node15->Node18 --> <g id="edge7" class="edge"> <title>Node15->Node18</title> <path fill="none" stroke="#191970" d="M297.5586,-65.7233C311.4383,-62.1025 326.4979,-58.1739 340.8147,-54.4391"/> <polygon fill="#191970" stroke="#191970" points="341.7915,-57.8015 350.5841,-51.8905 340.0244,-51.0282 341.7915,-57.8015"/> </g> <!-- Node19 --> <g id="node9" class="node"> <title>Node19</title> <g id="a_node9"><a xlink:href="a01572.html#a7565d258aacb02328cef6eb2781ab711" target="_top" xlink:title="Quicksort step doing load-balanced local sort."> <polygon fill="#ffffff" stroke="#000000" points="503,-70.8255 503,-98.8255 622,-98.8255 622,-70.8255 503,-70.8255"/> <text text-anchor="start" x="511" y="-87.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__qsb</text> <text text-anchor="middle" x="562.5" y="-77.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">_local_sort_with_helping</text> </a> </g> </g> <!-- Node18->Node19 --> <g id="edge8" class="edge"> <title>Node18->Node19</title> <path fill="none" stroke="#191970" d="M451.9052,-51.9271C468.8549,-56.9691 488.1277,-62.7021 505.7834,-67.9541"/> <polygon fill="#191970" stroke="#191970" points="504.8178,-71.3184 515.4007,-70.815 506.8137,-64.609 504.8178,-71.3184"/> </g> <!-- Node21 --> <g id="node11" class="node"> <title>Node21</title> <g id="a_node11"><a xlink:href="a01572.html#afc19882fd22d39e54475d41fd981ac49" target="_top" xlink:title="Balanced quicksort divide step."> <polygon fill="#ffffff" stroke="#000000" points="508,-23.8255 508,-51.8255 617,-51.8255 617,-23.8255 508,-23.8255"/> <text text-anchor="start" x="516" y="-40.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">__gnu_parallel::__qsb</text> <text text-anchor="middle" x="562.5" y="-30.6255" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#000000">_divide</text> </a> </g> </g> <!-- Node18->Node21 --> <g id="edge10" class="edge"> <title>Node18->Node21</title> <path fill="none" stroke="#191970" d="M459.3173,-37.8255C471.6951,-37.8255 484.9495,-37.8255 497.6943,-37.8255"/> <polygon fill="#191970" stroke="#191970" points="497.7796,-41.3256 507.7796,-37.8255 497.7796,-34.3256 497.7796,-41.3256"/> </g> <!-- Node19->Node20 --> <g id="edge9" class="edge"> <title>Node19->Node20</title> <path fill="none" stroke="#191970" d="M614.2543,-70.7107C636.7728,-64.5693 662.8575,-57.4553 684.3126,-51.6039"/> <polygon fill="#191970" stroke="#191970" points="685.3986,-54.9356 694.1253,-48.9277 683.5567,-48.1823 685.3986,-54.9356"/> </g> </g> </svg>