summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSchuyler Eldridge2019-09-25 15:18:18 -0400
committerSchuyler Eldridge2019-09-25 15:22:51 -0400
commit8efe7c925c78f3393cb3cf658e7c5d8416aa731e (patch)
tree243a125171ffbc47d2002e5c303277cb07ade085
parent9ea198e779eb32fa1b43a771e3b70d2b38063280 (diff)
Add graphviz type hierarchy with built svg/png
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
-rw-r--r--doc/images/Makefile12
-rw-r--r--doc/images/type_hierarchy.dot52
-rw-r--r--doc/images/type_hierarchy.pngbin18555 -> 34477 bytes
-rw-r--r--doc/images/type_hierarchy.svg1035
4 files changed, 323 insertions, 776 deletions
diff --git a/doc/images/Makefile b/doc/images/Makefile
new file mode 100644
index 00000000..20a41d1f
--- /dev/null
+++ b/doc/images/Makefile
@@ -0,0 +1,12 @@
+.PHONY: all
+
+sources = \
+ type_hierarchy.dot
+
+all: $(sources:%.dot=%.svg) $(sources:%.dot=%.png)
+
+%.svg: %.dot
+ dot -Tsvg $< -o $@
+
+%.png: %.dot
+ dot -Tpng $< -o $@
diff --git a/doc/images/type_hierarchy.dot b/doc/images/type_hierarchy.dot
new file mode 100644
index 00000000..d3bf6eb4
--- /dev/null
+++ b/doc/images/type_hierarchy.dot
@@ -0,0 +1,52 @@
+digraph TypeHierarchy {
+ graph [rankdir=BT bgcolor="transparent"]
+ { node [style=filled,shape=box]
+ { node [fillcolor="#f7fbff"]
+ Data
+ Element
+ Bits Num
+ Aggregate
+ VecLike
+ "Chisel Internal"
+ }
+ { node [fillcolor="#e5f5e0"]
+ Bool UInt SInt FixedPoint
+ Reset
+ AsyncReset
+ Record
+ Bundle
+ Vec
+ "Chisel Types"
+ }
+ { node [fillcolor="#fcbba1"]
+ "User Types"
+ Ellipsis [label="..."]
+ }
+
+ subgraph cluster_data_hierarchy {
+ color=transparent
+ Element
+ Bits Num
+ Reset
+ Bool UInt SInt FixedPoint
+ color=transparent
+ Aggregate
+ VecLike
+ Record
+ Bundle
+ Vec
+
+ {Aggregate Element} -> Data
+ {Bits Reset} -> Element
+ {FixedPoint SInt UInt} -> {Bits Num}
+ Bool -> {UInt Reset}
+ Ellipsis -> Bundle -> Record -> Aggregate
+ Vec -> {Aggregate VecLike}
+ AsyncReset -> {Element Reset}
+ }
+ subgraph cluster_legend {
+ label=Legend
+ "User Types" -> "Chisel Types" -> "Chisel Internal"
+ }
+ }
+}
diff --git a/doc/images/type_hierarchy.png b/doc/images/type_hierarchy.png
index 4856ab6c..f3947975 100644
--- a/doc/images/type_hierarchy.png
+++ b/doc/images/type_hierarchy.png
Binary files differ
diff --git a/doc/images/type_hierarchy.svg b/doc/images/type_hierarchy.svg
index c74a0eeb..c120daba 100644
--- a/doc/images/type_hierarchy.svg
+++ b/doc/images/type_hierarchy.svg
@@ -1,778 +1,261 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="105.3mm"
- height="95.299995mm"
- viewBox="0 0 373.11022 337.67715"
- id="svg2"
- version="1.1"
- inkscape:version="0.92.3 (2405546, 2018-03-11)"
- sodipodi:docname="type_hierarchy.svg"
- inkscape:export-filename="/home/ducky/git/chisel3/doc/images/type_hierarchy.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <defs
- id="defs4">
- <linearGradient
- id="Gradient"
- osb:paint="gradient">
- <stop
- style="stop-color:#e0e0e0;stop-opacity:1"
- offset="0"
- id="stop4275" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1"
- offset="1"
- id="stop4277" />
- </linearGradient>
- <linearGradient
- id="AbstractType"
- osb:paint="solid">
- <stop
- style="stop-color:#a0a0a0;stop-opacity:1;"
- offset="0"
- id="stop7998" />
- </linearGradient>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4528"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)"
- inkscape:connector-curvature="0" />
- </marker>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(106.2992,-212.59839)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-1"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.4967096,0,0,0.99341894,-17.483362,-135.38956)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-1-4"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.4967095,0,0,0.99341895,159.68199,-135.38954)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-5-1"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(70.866124,-70.866113)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-5-1-4"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(141.73226,4.3895239e-5)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-5-1-4-2"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(248.03148,3.0966827e-5)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-5-1-4-6"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(194.88187,-70.866113)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-5-1-4-3"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(141.73226,70.866206)" />
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-3"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-3"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-3-2"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-3-4"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-0"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-1"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-3-2-0"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-3-4-9"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-3-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-3-9"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient7988"
- x1="70.334641"
- y1="822.04718"
- x2="177.69685"
- y2="822.04718"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.433076,2.8354915e-5)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient8000"
- x1="176.63387"
- y1="751.18109"
- x2="248.563"
- y2="751.18109"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.433076,2.8354915e-5)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient8018"
- x1="247.5"
- y1="822.04718"
- x2="354.86221"
- y2="822.04718"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.433076,2.8354915e-5)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient8042"
- x1="265.21652"
- y1="892.91339"
- x2="337.14566"
- y2="892.91339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.433076,2.8354915e-5)" />
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-3-2-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-3-4-6"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6,-0.6)" />
- </marker>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient5787"
- gradientUnits="userSpaceOnUse"
- x1="143.57263"
- y1="958.04987"
- x2="184.80798"
- y2="958.04987"
- gradientTransform="translate(-11.229986,737.74357)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient5797"
- gradientUnits="userSpaceOnUse"
- x1="141.87891"
- y1="959.86719"
- x2="238.51282"
- y2="959.86719"
- gradientTransform="translate(-101.61319,-137.81993)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient5807"
- gradientUnits="userSpaceOnUse"
- x1="143.57263"
- y1="957.76147"
- x2="218.948"
- y2="957.76147"
- gradientTransform="translate(84.487714,-135.71422)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient5833"
- gradientUnits="userSpaceOnUse"
- x1="143.57263"
- y1="957.76147"
- x2="176.00061"
- y2="957.76147"
- gradientTransform="translate(107.92521,-65.136473)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient5817"
- gradientUnits="userSpaceOnUse"
- x1="143.57263"
- y1="957.76147"
- x2="206.02991"
- y2="957.76147"
- gradientTransform="translate(-139.36821,-64.848082)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-5"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-38.053656,2.332714)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient8036"
- x1="34.901588"
- y1="892.91339"
- x2="106.83072"
- y2="892.91339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-38.053656,73.198845)" />
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-3-2-6-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-3-4-6-1"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6)" />
- </marker>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#Gradient"
- id="linearGradient4154-5-7"
- x1="70.866142"
- y1="981.49603"
- x2="70.866142"
- y2="946.06299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-38.05366,-70.79228)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient8036-3"
- x1="34.901588"
- y1="892.91339"
- x2="106.83072"
- y2="892.91339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-38.05366,0.07383032)" />
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend-4-9-3-2-6-9-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4528-3-7-3-4-6-1-0"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6)" />
- </marker>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient4134"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-141.98881,-64.77428)"
- x1="143.57263"
- y1="957.76147"
- x2="206.02991"
- y2="957.76147" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#AbstractType"
- id="linearGradient4142"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-141.9888,8.3507141)"
- x1="143.57263"
- y1="957.76147"
- x2="206.02991"
- y2="957.76147" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="2.8792942"
- inkscape:cx="201.98355"
- inkscape:cy="172.70241"
- inkscape:document-units="mm"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:window-width="2880"
- inkscape:window-height="1443"
- inkscape:window-x="0"
- inkscape:window-y="29"
- inkscape:window-maximized="1"
- inkscape:snap-bbox="true"
- inkscape:snap-bbox-midpoints="true"
- inkscape:snap-smooth-nodes="true"
- inkscape:object-nodes="true"
- fit-margin-top="2.5"
- fit-margin-left="2.5"
- fit-margin-right="2.5"
- fit-margin-bottom="2.5">
- <inkscape:grid
- type="xygrid"
- id="grid3336"
- originx="9.3897524"
- originy="9.3897072" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(9.3897534,-724.07477)">
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.06299996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4)"
- d="m 194.88187,768.89764 70.86615,35.43308"
- id="path4495-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9)"
- d="m 265.74802,839.76381 0,35.43307"
- id="path4495-2-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9-3-2)"
- d="M 283.46456,910.62995 318.89762,946.063"
- id="path4495-2-7-2-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9-0)"
- d="m 212.58819,980.69257 0,35.43303"
- id="path4495-2-7-8"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.063;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9-3)"
- d="M 248.03148,910.62993 212.59841,946.063"
- id="path4495-2-7-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9-3-2-0)"
- d="m 106.2992,839.76379 35.84614,35.83889"
- id="path4495-2-7-2-2-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9-3-1)"
- d="M 70.866126,839.76379 35.014098,875.2002"
- id="path4495-2-7-2-9"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
- d="M 159.4488,768.89764 88.582662,804.33072"
- id="path4495"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <rect
- style="fill:url(#linearGradient4154);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient8000);stroke-width:1.063;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338"
- width="70.866142"
- height="35.433071"
- x="141.73228"
- y="733.46454" />
- <rect
- style="fill:url(#linearGradient4154-1);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient7988);stroke-width:1.29617918;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-1"
- width="106.06603"
- height="35.199883"
- x="35.549652"
- y="804.44727" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient5797);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="40.119232"
- y="826.93158"
- id="text5789"><tspan
- sodipodi:role="line"
- x="40.119232"
- y="826.93158"
- id="tspan5791"
- style="fill:url(#linearGradient5797)"><tspan
- x="40.119232"
- y="826.93158"
- style="fill:url(#linearGradient5797);fill-opacity:1"
- id="tspan5793">Aggregate</tspan></tspan></text>
- <rect
- style="fill:url(#linearGradient4154-1-4);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient8018);stroke-width:1.29617906;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-1-7"
- width="106.06603"
- height="35.199886"
- x="212.71501"
- y="804.44727" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient5807);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="226.22014"
- y="829.03729"
- id="text5799"><tspan
- sodipodi:role="line"
- x="226.22014"
- y="829.03729"
- id="tspan5801"
- style="fill:url(#linearGradient5807)"><tspan
- x="226.22014"
- y="829.03729"
- style="fill:url(#linearGradient5807);fill-opacity:1"
- id="tspan5803">Element</tspan></tspan></text>
- <rect
- style="fill:url(#linearGradient4154-5-1);fill-opacity:1.0;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-6-9"
- width="70.866142"
- height="35.433071"
- x="106.29921"
- y="875.19684" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="125.64188"
- y="899.61505"
- id="text5819"><tspan
- sodipodi:role="line"
- x="125.64188"
- y="899.61505"
- id="tspan5821"><tspan
- x="125.64188"
- y="899.61505"
- id="tspan5823">Vec</tspan></tspan></text>
- <rect
- style="fill:url(#linearGradient4154-5-1-4);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-6-9-2"
- width="70.866142"
- height="35.433071"
- x="177.16533"
- y="946.06299" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="192.74977"
- y="970.4812"
- id="text5835"><tspan
- sodipodi:role="line"
- x="192.74977"
- y="970.4812"
- id="tspan5837"><tspan
- x="192.74977"
- y="970.4812"
- id="tspan5839">UInt</tspan></tspan></text>
- <rect
- style="fill:url(#linearGradient4154-5-1-4-2);fill-opacity:1.0;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-6-9-2-9"
- width="70.866142"
- height="35.433071"
- x="283.46457"
- y="946.06299" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="300.16138"
- y="970.6048"
- id="text5841"><tspan
- sodipodi:role="line"
- x="300.16138"
- y="970.6048"
- id="tspan5843"><tspan
- x="300.16138"
- y="970.6048"
- id="tspan5845">SInt</tspan></tspan></text>
- <rect
- style="fill:url(#linearGradient4154-5-1-4-6);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient8042);stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-6-9-2-2"
- width="70.866142"
- height="35.433071"
- x="230.31494"
- y="875.19684" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient5833);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="249.65764"
- y="899.61505"
- id="text5825"><tspan
- sodipodi:role="line"
- x="249.65764"
- y="899.61505"
- id="tspan5827"
- style="fill:url(#linearGradient5833)"><tspan
- x="249.65764"
- y="899.61505"
- style="fill:url(#linearGradient5833);fill-opacity:1"
- id="tspan5829">Bits</tspan></tspan></text>
- <rect
- style="fill:url(#linearGradient4154-5-1-4-3);fill-opacity:1.0;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-6-9-2-4"
- width="70.866142"
- height="35.433071"
- x="177.16533"
- y="1016.9291" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="192.06311"
- y="1041.6357"
- id="text5847"><tspan
- sodipodi:role="line"
- x="192.06311"
- y="1041.6357"
- id="tspan5849"><tspan
- x="192.06311"
- y="1041.6357"
- id="tspan5851">Bool</tspan></tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient5787);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="154.70746"
- y="757.88275"
- id="text5781"><tspan
- sodipodi:role="line"
- id="tspan5783"
- style="fill:url(#linearGradient5787)"
- x="154.70746"
- y="757.88275">Data</tspan></text>
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9-3-2-6-9)"
- d="m 32.812474,983.82874 v 35.43306"
- id="path4495-2-7-2-2-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <rect
- style="fill:url(#linearGradient4154-5);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8036);stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-6"
- width="70.866142"
- height="35.433071"
- x="-2.620573"
- y="948.39569" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient4142);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="-0.2563687"
- y="973.10229"
- id="text5809"><tspan
- sodipodi:role="line"
- x="-0.2563687"
- y="973.10229"
- id="tspan5811"
- style="fill:url(#linearGradient4142);stroke-width:1px"><tspan
- x="-0.2563687"
- y="973.10229"
- style="fill:url(#linearGradient4142);fill-opacity:1;stroke-width:1px"
- id="tspan5813">Bundle</tspan></tspan></text>
- <circle
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.0629921;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path4498"
- cx="23.954195"
- cy="1036.9784"
- r="2.2145669" />
- <circle
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.0629921;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path4498-2"
- cx="32.812469"
- cy="1036.9784"
- r="2.2145669" />
- <circle
- r="2.2145669"
- cy="1036.9784"
- cx="41.670746"
- id="circle4515"
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.0629921;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4-9-3-2-6-9-6)"
- d="m 32.812472,910.70376 v 35.433"
- id="path4495-2-7-2-2-2-6"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <rect
- style="fill:url(#linearGradient4154-5-7);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8036-3);stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3338-6-2"
- width="70.866142"
- height="35.433071"
- x="-2.620573"
- y="875.27069" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient4134);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="-0.25636876"
- y="899.97729"
- id="text5809-6"><tspan
- sodipodi:role="line"
- x="-0.25636876"
- y="899.97729"
- id="tspan5811-1"
- style="fill:url(#linearGradient4134);stroke-width:1px">Record<tspan
- x="-0.25636876"
- y="899.97729"
- style="fill:url(#linearGradient4134);fill-opacity:1;stroke-width:1px"
- id="tspan5813-8" /></tspan></text>
- </g>
+<!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.41.20190111.1241 (20190111.1241)
+ -->
+<!-- Title: TypeHierarchy Pages: 1 -->
+<svg width="574pt" height="387pt"
+ viewBox="0.00 0.00 574.00 387.00" 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 383)">
+<title>TypeHierarchy</title>
+<g id="clust5" class="cluster">
+<title>cluster_data_hierarchy</title>
+<polygon fill="transparent" stroke="transparent" points="8,-31 8,-371 438,-371 438,-31 8,-31"/>
+</g>
+<g id="clust13" class="cluster">
+<title>cluster_legend</title>
+<polygon fill="transparent" stroke="black" points="446,-8 446,-227 558,-227 558,-8 446,-8"/>
+<text text-anchor="middle" x="502" y="-15.8" font-family="Times,serif" font-size="14.00">Legend</text>
+</g>
+<!-- Data -->
+<g id="node1" class="node">
+<title>Data</title>
+<polygon fill="#f7fbff" stroke="black" points="172,-363 118,-363 118,-327 172,-327 172,-363"/>
+<text text-anchor="middle" x="145" y="-341.3" font-family="Times,serif" font-size="14.00">Data</text>
+</g>
+<!-- Element -->
+<g id="node2" class="node">
+<title>Element</title>
+<polygon fill="#f7fbff" stroke="black" points="262,-291 200,-291 200,-255 262,-255 262,-291"/>
+<text text-anchor="middle" x="231" y="-269.3" font-family="Times,serif" font-size="14.00">Element</text>
+</g>
+<!-- Element&#45;&gt;Data -->
+<g id="edge1" class="edge">
+<title>Element&#45;&gt;Data</title>
+<path fill="none" stroke="black" d="M209.74,-291.3C198.91,-300.12 185.58,-310.97 173.84,-320.53"/>
+<polygon fill="black" stroke="black" points="171.56,-317.87 166.01,-326.9 175.98,-323.3 171.56,-317.87"/>
+</g>
+<!-- Bits -->
+<g id="node3" class="node">
+<title>Bits</title>
+<polygon fill="#f7fbff" stroke="black" points="380,-219 326,-219 326,-183 380,-183 380,-219"/>
+<text text-anchor="middle" x="353" y="-197.3" font-family="Times,serif" font-size="14.00">Bits</text>
+</g>
+<!-- Bits&#45;&gt;Element -->
+<g id="edge3" class="edge">
+<title>Bits&#45;&gt;Element</title>
+<path fill="none" stroke="black" d="M329.26,-219.1C325.23,-221.83 321.04,-224.56 317,-227 302.46,-235.81 286.02,-244.66 271.44,-252.16"/>
+<polygon fill="black" stroke="black" points="269.49,-249.22 262.16,-256.88 272.66,-255.46 269.49,-249.22"/>
+</g>
+<!-- Num -->
+<g id="node4" class="node">
+<title>Num</title>
+<polygon fill="#f7fbff" stroke="black" points="308,-219 254,-219 254,-183 308,-183 308,-219"/>
+<text text-anchor="middle" x="281" y="-197.3" font-family="Times,serif" font-size="14.00">Num</text>
+</g>
+<!-- Aggregate -->
+<g id="node5" class="node">
+<title>Aggregate</title>
+<polygon fill="#f7fbff" stroke="black" points="96.5,-291 23.5,-291 23.5,-255 96.5,-255 96.5,-291"/>
+<text text-anchor="middle" x="60" y="-269.3" font-family="Times,serif" font-size="14.00">Aggregate</text>
+</g>
+<!-- Aggregate&#45;&gt;Data -->
+<g id="edge2" class="edge">
+<title>Aggregate&#45;&gt;Data</title>
+<path fill="none" stroke="black" d="M81.01,-291.3C91.72,-300.12 104.89,-310.97 116.5,-320.53"/>
+<polygon fill="black" stroke="black" points="114.29,-323.24 124.23,-326.9 118.74,-317.84 114.29,-323.24"/>
+</g>
+<!-- VecLike -->
+<g id="node6" class="node">
+<title>VecLike</title>
+<polygon fill="#f7fbff" stroke="black" points="177.5,-291 114.5,-291 114.5,-255 177.5,-255 177.5,-291"/>
+<text text-anchor="middle" x="146" y="-269.3" font-family="Times,serif" font-size="14.00">VecLike</text>
+</g>
+<!-- Chisel Internal -->
+<g id="node7" class="node">
+<title>Chisel Internal</title>
+<polygon fill="#f7fbff" stroke="black" points="550.5,-219 453.5,-219 453.5,-183 550.5,-183 550.5,-219"/>
+<text text-anchor="middle" x="502" y="-197.3" font-family="Times,serif" font-size="14.00">Chisel Internal</text>
+</g>
+<!-- Bool -->
+<g id="node8" class="node">
+<title>Bool</title>
+<polygon fill="#e5f5e0" stroke="black" points="286,-75 232,-75 232,-39 286,-39 286,-75"/>
+<text text-anchor="middle" x="259" y="-53.3" font-family="Times,serif" font-size="14.00">Bool</text>
+</g>
+<!-- UInt -->
+<g id="node9" class="node">
+<title>UInt</title>
+<polygon fill="#e5f5e0" stroke="black" points="430,-147 376,-147 376,-111 430,-111 430,-147"/>
+<text text-anchor="middle" x="403" y="-125.3" font-family="Times,serif" font-size="14.00">UInt</text>
+</g>
+<!-- Bool&#45;&gt;UInt -->
+<g id="edge11" class="edge">
+<title>Bool&#45;&gt;UInt</title>
+<path fill="none" stroke="black" d="M286.09,-71.17C308.77,-82.19 341.36,-98.03 366.37,-110.19"/>
+<polygon fill="black" stroke="black" points="365.02,-113.43 375.55,-114.65 368.08,-107.13 365.02,-113.43"/>
+</g>
+<!-- Reset -->
+<g id="node12" class="node">
+<title>Reset</title>
+<polygon fill="#e5f5e0" stroke="black" points="216,-219 162,-219 162,-183 216,-183 216,-219"/>
+<text text-anchor="middle" x="189" y="-197.3" font-family="Times,serif" font-size="14.00">Reset</text>
+</g>
+<!-- Bool&#45;&gt;Reset -->
+<g id="edge12" class="edge">
+<title>Bool&#45;&gt;Reset</title>
+<path fill="none" stroke="black" d="M231.86,-58.21C195.38,-60.13 131.69,-69.64 102,-111 92.67,-124 94.16,-133.05 102,-147 107.81,-157.34 131.42,-171.4 152.58,-182.44"/>
+<polygon fill="black" stroke="black" points="151.25,-185.69 161.75,-187.12 154.43,-179.45 151.25,-185.69"/>
+</g>
+<!-- UInt&#45;&gt;Bits -->
+<g id="edge5" class="edge">
+<title>UInt&#45;&gt;Bits</title>
+<path fill="none" stroke="black" d="M390.64,-147.3C384.77,-155.53 377.63,-165.52 371.16,-174.58"/>
+<polygon fill="black" stroke="black" points="368.18,-172.72 365.22,-182.9 373.88,-176.79 368.18,-172.72"/>
+</g>
+<!-- UInt&#45;&gt;Num -->
+<g id="edge6" class="edge">
+<title>UInt&#45;&gt;Num</title>
+<path fill="none" stroke="black" d="M375.92,-145.54C358.55,-155.5 335.79,-168.56 316.91,-179.39"/>
+<polygon fill="black" stroke="black" points="314.93,-176.5 308,-184.51 318.42,-182.57 314.93,-176.5"/>
+</g>
+<!-- SInt -->
+<g id="node10" class="node">
+<title>SInt</title>
+<polygon fill="#e5f5e0" stroke="black" points="358,-147 304,-147 304,-111 358,-111 358,-147"/>
+<text text-anchor="middle" x="331" y="-125.3" font-family="Times,serif" font-size="14.00">SInt</text>
+</g>
+<!-- SInt&#45;&gt;Bits -->
+<g id="edge7" class="edge">
+<title>SInt&#45;&gt;Bits</title>
+<path fill="none" stroke="black" d="M336.44,-147.3C338.89,-155.1 341.84,-164.49 344.57,-173.17"/>
+<polygon fill="black" stroke="black" points="341.29,-174.41 347.62,-182.9 347.96,-172.31 341.29,-174.41"/>
+</g>
+<!-- SInt&#45;&gt;Num -->
+<g id="edge8" class="edge">
+<title>SInt&#45;&gt;Num</title>
+<path fill="none" stroke="black" d="M318.64,-147.3C312.77,-155.53 305.63,-165.52 299.16,-174.58"/>
+<polygon fill="black" stroke="black" points="296.18,-172.72 293.22,-182.9 301.88,-176.79 296.18,-172.72"/>
+</g>
+<!-- FixedPoint -->
+<g id="node11" class="node">
+<title>FixedPoint</title>
+<polygon fill="#e5f5e0" stroke="black" points="286,-147 210,-147 210,-111 286,-111 286,-147"/>
+<text text-anchor="middle" x="248" y="-125.3" font-family="Times,serif" font-size="14.00">FixedPoint</text>
+</g>
+<!-- FixedPoint&#45;&gt;Bits -->
+<g id="edge9" class="edge">
+<title>FixedPoint&#45;&gt;Bits</title>
+<path fill="none" stroke="black" d="M273.69,-147.12C287.29,-156.19 304.17,-167.45 318.86,-177.24"/>
+<polygon fill="black" stroke="black" points="316.95,-180.18 327.22,-182.81 320.84,-174.35 316.95,-180.18"/>
+</g>
+<!-- FixedPoint&#45;&gt;Num -->
+<g id="edge10" class="edge">
+<title>FixedPoint&#45;&gt;Num</title>
+<path fill="none" stroke="black" d="M256.16,-147.3C259.91,-155.27 264.45,-164.9 268.62,-173.74"/>
+<polygon fill="black" stroke="black" points="265.51,-175.34 272.94,-182.9 271.84,-172.36 265.51,-175.34"/>
+</g>
+<!-- Reset&#45;&gt;Element -->
+<g id="edge4" class="edge">
+<title>Reset&#45;&gt;Element</title>
+<path fill="none" stroke="black" d="M199.38,-219.3C204.26,-227.44 210.19,-237.31 215.58,-246.3"/>
+<polygon fill="black" stroke="black" points="212.59,-248.12 220.74,-254.9 218.59,-244.52 212.59,-248.12"/>
+</g>
+<!-- AsyncReset -->
+<g id="node13" class="node">
+<title>AsyncReset</title>
+<polygon fill="#e5f5e0" stroke="black" points="191.5,-147 110.5,-147 110.5,-111 191.5,-111 191.5,-147"/>
+<text text-anchor="middle" x="151" y="-125.3" font-family="Times,serif" font-size="14.00">AsyncReset</text>
+</g>
+<!-- AsyncReset&#45;&gt;Element -->
+<g id="edge18" class="edge">
+<title>AsyncReset&#45;&gt;Element</title>
+<path fill="none" stroke="black" d="M187.11,-147C201.42,-155.68 216.46,-167.68 225,-183 235.4,-201.66 236.33,-226.05 234.98,-244.58"/>
+<polygon fill="black" stroke="black" points="231.48,-244.42 233.98,-254.72 238.45,-245.11 231.48,-244.42"/>
+</g>
+<!-- AsyncReset&#45;&gt;Reset -->
+<g id="edge19" class="edge">
+<title>AsyncReset&#45;&gt;Reset</title>
+<path fill="none" stroke="black" d="M160.39,-147.3C164.76,-155.36 170.06,-165.11 174.9,-174.02"/>
+<polygon fill="black" stroke="black" points="171.87,-175.78 179.71,-182.9 178.02,-172.44 171.87,-175.78"/>
+</g>
+<!-- Record -->
+<g id="node14" class="node">
+<title>Record</title>
+<polygon fill="#e5f5e0" stroke="black" points="72,-219 16,-219 16,-183 72,-183 72,-219"/>
+<text text-anchor="middle" x="44" y="-197.3" font-family="Times,serif" font-size="14.00">Record</text>
+</g>
+<!-- Record&#45;&gt;Aggregate -->
+<g id="edge15" class="edge">
+<title>Record&#45;&gt;Aggregate</title>
+<path fill="none" stroke="black" d="M47.96,-219.3C49.72,-227.02 51.84,-236.29 53.8,-244.89"/>
+<polygon fill="black" stroke="black" points="50.45,-245.93 56.09,-254.9 57.27,-244.37 50.45,-245.93"/>
+</g>
+<!-- Bundle -->
+<g id="node15" class="node">
+<title>Bundle</title>
+<polygon fill="#e5f5e0" stroke="black" points="72,-147 16,-147 16,-111 72,-111 72,-147"/>
+<text text-anchor="middle" x="44" y="-125.3" font-family="Times,serif" font-size="14.00">Bundle</text>
+</g>
+<!-- Bundle&#45;&gt;Record -->
+<g id="edge14" class="edge">
+<title>Bundle&#45;&gt;Record</title>
+<path fill="none" stroke="black" d="M44,-147.3C44,-155.02 44,-164.29 44,-172.89"/>
+<polygon fill="black" stroke="black" points="40.5,-172.9 44,-182.9 47.5,-172.9 40.5,-172.9"/>
+</g>
+<!-- Vec -->
+<g id="node16" class="node">
+<title>Vec</title>
+<polygon fill="#e5f5e0" stroke="black" points="144,-219 90,-219 90,-183 144,-183 144,-219"/>
+<text text-anchor="middle" x="117" y="-197.3" font-family="Times,serif" font-size="14.00">Vec</text>
+</g>
+<!-- Vec&#45;&gt;Aggregate -->
+<g id="edge16" class="edge">
+<title>Vec&#45;&gt;Aggregate</title>
+<path fill="none" stroke="black" d="M102.91,-219.3C96.08,-227.7 87.74,-237.93 80.24,-247.14"/>
+<polygon fill="black" stroke="black" points="77.53,-244.93 73.93,-254.9 82.96,-249.35 77.53,-244.93"/>
+</g>
+<!-- Vec&#45;&gt;VecLike -->
+<g id="edge17" class="edge">
+<title>Vec&#45;&gt;VecLike</title>
+<path fill="none" stroke="black" d="M124.17,-219.3C127.43,-227.19 131.37,-236.7 135,-245.45"/>
+<polygon fill="black" stroke="black" points="131.85,-247 138.91,-254.9 138.32,-244.32 131.85,-247"/>
+</g>
+<!-- Chisel Types -->
+<g id="node17" class="node">
+<title>Chisel Types</title>
+<polygon fill="#e5f5e0" stroke="black" points="546,-147 458,-147 458,-111 546,-111 546,-147"/>
+<text text-anchor="middle" x="502" y="-125.3" font-family="Times,serif" font-size="14.00">Chisel Types</text>
+</g>
+<!-- Chisel Types&#45;&gt;Chisel Internal -->
+<g id="edge21" class="edge">
+<title>Chisel Types&#45;&gt;Chisel Internal</title>
+<path fill="none" stroke="black" d="M502,-147.3C502,-155.02 502,-164.29 502,-172.89"/>
+<polygon fill="black" stroke="black" points="498.5,-172.9 502,-182.9 505.5,-172.9 498.5,-172.9"/>
+</g>
+<!-- User Types -->
+<g id="node18" class="node">
+<title>User Types</title>
+<polygon fill="#fcbba1" stroke="black" points="541.5,-75 462.5,-75 462.5,-39 541.5,-39 541.5,-75"/>
+<text text-anchor="middle" x="502" y="-53.3" font-family="Times,serif" font-size="14.00">User Types</text>
+</g>
+<!-- User Types&#45;&gt;Chisel Types -->
+<g id="edge20" class="edge">
+<title>User Types&#45;&gt;Chisel Types</title>
+<path fill="none" stroke="black" d="M502,-75.3C502,-83.02 502,-92.29 502,-100.89"/>
+<polygon fill="black" stroke="black" points="498.5,-100.9 502,-110.9 505.5,-100.9 498.5,-100.9"/>
+</g>
+<!-- Ellipsis -->
+<g id="node19" class="node">
+<title>Ellipsis</title>
+<polygon fill="#fcbba1" stroke="black" points="71,-75 17,-75 17,-39 71,-39 71,-75"/>
+<text text-anchor="middle" x="44" y="-53.3" font-family="Times,serif" font-size="14.00">...</text>
+</g>
+<!-- Ellipsis&#45;&gt;Bundle -->
+<g id="edge13" class="edge">
+<title>Ellipsis&#45;&gt;Bundle</title>
+<path fill="none" stroke="black" d="M44,-75.3C44,-83.02 44,-92.29 44,-100.89"/>
+<polygon fill="black" stroke="black" points="40.5,-100.9 44,-110.9 47.5,-100.9 40.5,-100.9"/>
+</g>
+</g>
</svg>