quickerNES/extern/phmap/html/diagrams/index_computation.svg

197 lines
4.9 KiB
XML

<svg class="bob" font-family="arial" font-size="14" height="464" width="640" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="464" width="640" x="0" y="0"/>
<g>
<line x1="52" x2="52" y1="152" y2="184"/>
<line x1="52" x2="124" y1="152" y2="152"/>
<line x1="52" x2="132" y1="184" y2="184"/>
<line x1="124" x2="236" y1="152" y2="152"/>
<line marker-end="url(#triangle)" x1="132" x2="132" y1="184" y2="236"/>
<line x1="132" x2="236" y1="184" y2="184"/>
<line x1="236" x2="236" y1="152" y2="184"/>
</g>
<g>
<line x1="68" x2="68" y1="56" y2="88"/>
<line x1="68" x2="204" y1="56" y2="56"/>
<line x1="68" x2="124" y1="88" y2="88"/>
<line x1="124" x2="204" y1="88" y2="88"/>
<line x1="204" x2="204" y1="56" y2="88"/>
</g>
<g>
<line x1="92" x2="92" y1="248" y2="280"/>
<line x1="92" x2="132" y1="248" y2="248"/>
<line x1="92" x2="132" y1="280" y2="280"/>
<line x1="132" x2="172" y1="248" y2="248"/>
<line x1="132" x2="132" y1="280" y2="328"/>
<line x1="132" x2="172" y1="280" y2="280"/>
<line marker-end="url(#triangle)" x1="132" x2="388" y1="328" y2="328"/>
<line x1="172" x2="172" y1="248" y2="280"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="132" x2="132" y1="96" y2="140"/>
</g>
<g>
<line x1="396" x2="396" y1="152" y2="184"/>
<line x1="396" x2="532" y1="152" y2="152"/>
<line x1="396" x2="396" y1="184" y2="216"/>
<line x1="396" x2="532" y1="184" y2="184"/>
<line x1="396" x2="396" y1="216" y2="248"/>
<line x1="396" x2="532" y1="216" y2="216"/>
<line x1="396" x2="396" y1="248" y2="280"/>
<line x1="396" x2="532" y1="248" y2="248"/>
<line x1="396" x2="396" y1="280" y2="312"/>
<line x1="396" x2="532" y1="280" y2="280"/>
<line x1="396" x2="396" y1="312" y2="344"/>
<line x1="396" x2="532" y1="312" y2="312"/>
<line x1="396" x2="396" y1="344" y2="376"/>
<line x1="396" x2="532" y1="344" y2="344"/>
<line x1="396" x2="396" y1="376" y2="408"/>
<line x1="396" x2="532" y1="376" y2="376"/>
<line x1="396" x2="532" y1="408" y2="408"/>
<line x1="532" x2="532" y1="152" y2="184"/>
<line x1="532" x2="532" y1="184" y2="216"/>
<line x1="532" x2="532" y1="216" y2="248"/>
<line x1="532" x2="532" y1="248" y2="280"/>
<line x1="532" x2="532" y1="280" y2="312"/>
<line x1="532" x2="532" y1="312" y2="344"/>
<line x1="532" x2="532" y1="344" y2="376"/>
<line x1="532" x2="532" y1="376" y2="408"/>
</g>
<g>
<text x="57" y="444">
parallel_hash_map with 8 submaps, each submap is an absl::flat_hash_map
</text>
</g>
<g>
<text x="65" y="172">
h=0x7d84ea13707f4657
</text>
</g>
<g>
<text x="73" y="76">
(keyi, valuei)
</text>
</g>
<g>
<text x="97" y="268">
idx = 5
</text>
</g>
<g>
<text x="145" y="220">
(h ^ (h &gt;&gt; 3)) &amp; 0x7
</text>
</g>
<g>
<text x="153" y="124">
hasher(keyi)
</text>
</g>
<g>
<text x="401" y="124">
Parallel Hash Map
</text>
</g>
<g>
<text x="401" y="140">
(with 8 submaps)
</text>
</g>
<g>
<text x="417" y="172">
submap0
</text>
</g>
<g>
<text x="417" y="204">
submap1
</text>
</g>
<g>
<text x="417" y="236">
submap2
</text>
</g>
<g>
<text x="417" y="268">
submap3
</text>
</g>
<g>
<text x="417" y="300">
submap4
</text>
</g>
<g>
<text x="417" y="332">
submap5
</text>
</g>
<g>
<text x="417" y="364">
submap6
</text>
</g>
<g>
<text x="417" y="396">
submap7
</text>
</g>
</svg>