1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!-- Created with Inkscape (http://www.inkscape.org/) --> 3 4<!-- SPDX-License-Identifier: BSD-3-Clause --> 5<!-- Copyright(c) 2010 Intel Corporation --> 6 7<svg 8 xmlns:dc="http://purl.org/dc/elements/1.1/" 9 xmlns:cc="http://creativecommons.org/ns#" 10 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 11 xmlns:svg="http://www.w3.org/2000/svg" 12 xmlns="http://www.w3.org/2000/svg" 13 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 15 width="576.07806" 16 height="152.68279" 17 id="svg2" 18 version="1.1" 19 inkscape:version="0.48.4 r9939" 20 sodipodi:docname="ring-modulo2.svg"> 21 <defs 22 id="defs4"> 23 <marker 24 inkscape:stockid="Arrow1Mend" 25 orient="auto" 26 refY="0" 27 refX="0" 28 id="Arrow1Mend" 29 style="overflow:visible"> 30 <path 31 id="path3602" 32 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 33 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" 34 transform="matrix(-0.4,0,0,-0.4,-4,0)" 35 inkscape:connector-curvature="0" /> 36 </marker> 37 <marker 38 inkscape:stockid="Arrow1Sstart" 39 orient="auto" 40 refY="0" 41 refX="0" 42 id="Arrow1Sstart" 43 style="overflow:visible"> 44 <path 45 id="path3605" 46 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" 48 transform="matrix(0.2,0,0,0.2,1.2,0)" 49 inkscape:connector-curvature="0" /> 50 </marker> 51 <marker 52 inkscape:stockid="Arrow1Mstart" 53 orient="auto" 54 refY="0" 55 refX="0" 56 id="Arrow1Mstart" 57 style="overflow:visible"> 58 <path 59 id="path3599" 60 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 61 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" 62 transform="matrix(0.4,0,0,0.4,4,0)" 63 inkscape:connector-curvature="0" /> 64 </marker> 65 <marker 66 inkscape:stockid="Arrow1Lstart" 67 orient="auto" 68 refY="0" 69 refX="0" 70 id="Arrow1Lstart" 71 style="overflow:visible"> 72 <path 73 id="path3593" 74 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 75 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" 76 transform="matrix(0.8,0,0,0.8,10,0)" 77 inkscape:connector-curvature="0" /> 78 </marker> 79 <marker 80 inkscape:stockid="Arrow2Lend" 81 orient="auto" 82 refY="0" 83 refX="0" 84 id="Arrow2Lend" 85 style="overflow:visible"> 86 <path 87 id="path3614" 88 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 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" 90 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 91 inkscape:connector-curvature="0" /> 92 </marker> 93 <inkscape:perspective 94 sodipodi:type="inkscape:persp3d" 95 inkscape:vp_x="0 : 526.18109 : 1" 96 inkscape:vp_y="0 : 1000 : 0" 97 inkscape:vp_z="744.09448 : 526.18109 : 1" 98 inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 99 id="perspective10" /> 100 <inkscape:perspective 101 id="perspective4048" 102 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 103 inkscape:vp_z="1 : 0.5 : 1" 104 inkscape:vp_y="0 : 1000 : 0" 105 inkscape:vp_x="0 : 0.5 : 1" 106 sodipodi:type="inkscape:persp3d" /> 107 <inkscape:perspective 108 id="perspective4048-7" 109 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 110 inkscape:vp_z="1 : 0.5 : 1" 111 inkscape:vp_y="0 : 1000 : 0" 112 inkscape:vp_x="0 : 0.5 : 1" 113 sodipodi:type="inkscape:persp3d" /> 114 <inkscape:perspective 115 id="perspective4048-4" 116 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 117 inkscape:vp_z="1 : 0.5 : 1" 118 inkscape:vp_y="0 : 1000 : 0" 119 inkscape:vp_x="0 : 0.5 : 1" 120 sodipodi:type="inkscape:persp3d" /> 121 <inkscape:perspective 122 id="perspective4048-0" 123 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 124 inkscape:vp_z="1 : 0.5 : 1" 125 inkscape:vp_y="0 : 1000 : 0" 126 inkscape:vp_x="0 : 0.5 : 1" 127 sodipodi:type="inkscape:persp3d" /> 128 <inkscape:perspective 129 id="perspective4048-6" 130 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131 inkscape:vp_z="1 : 0.5 : 1" 132 inkscape:vp_y="0 : 1000 : 0" 133 inkscape:vp_x="0 : 0.5 : 1" 134 sodipodi:type="inkscape:persp3d" /> 135 <inkscape:perspective 136 id="perspective4048-06" 137 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 138 inkscape:vp_z="1 : 0.5 : 1" 139 inkscape:vp_y="0 : 1000 : 0" 140 inkscape:vp_x="0 : 0.5 : 1" 141 sodipodi:type="inkscape:persp3d" /> 142 <inkscape:perspective 143 id="perspective4115" 144 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 145 inkscape:vp_z="1 : 0.5 : 1" 146 inkscape:vp_y="0 : 1000 : 0" 147 inkscape:vp_x="0 : 0.5 : 1" 148 sodipodi:type="inkscape:persp3d" /> 149 <inkscape:perspective 150 id="perspective4115-6" 151 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 152 inkscape:vp_z="1 : 0.5 : 1" 153 inkscape:vp_y="0 : 1000 : 0" 154 inkscape:vp_x="0 : 0.5 : 1" 155 sodipodi:type="inkscape:persp3d" /> 156 <inkscape:perspective 157 id="perspective4115-5" 158 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 159 inkscape:vp_z="1 : 0.5 : 1" 160 inkscape:vp_y="0 : 1000 : 0" 161 inkscape:vp_x="0 : 0.5 : 1" 162 sodipodi:type="inkscape:persp3d" /> 163 <inkscape:perspective 164 id="perspective4157" 165 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 166 inkscape:vp_z="1 : 0.5 : 1" 167 inkscape:vp_y="0 : 1000 : 0" 168 inkscape:vp_x="0 : 0.5 : 1" 169 sodipodi:type="inkscape:persp3d" /> 170 <inkscape:perspective 171 id="perspective4157-7" 172 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 173 inkscape:vp_z="1 : 0.5 : 1" 174 inkscape:vp_y="0 : 1000 : 0" 175 inkscape:vp_x="0 : 0.5 : 1" 176 sodipodi:type="inkscape:persp3d" /> 177 <inkscape:perspective 178 id="perspective4157-5" 179 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 180 inkscape:vp_z="1 : 0.5 : 1" 181 inkscape:vp_y="0 : 1000 : 0" 182 inkscape:vp_x="0 : 0.5 : 1" 183 sodipodi:type="inkscape:persp3d" /> 184 <inkscape:perspective 185 id="perspective4157-3" 186 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 187 inkscape:vp_z="1 : 0.5 : 1" 188 inkscape:vp_y="0 : 1000 : 0" 189 inkscape:vp_x="0 : 0.5 : 1" 190 sodipodi:type="inkscape:persp3d" /> 191 <inkscape:perspective 192 id="perspective4157-4" 193 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 194 inkscape:vp_z="1 : 0.5 : 1" 195 inkscape:vp_y="0 : 1000 : 0" 196 inkscape:vp_x="0 : 0.5 : 1" 197 sodipodi:type="inkscape:persp3d" /> 198 <inkscape:perspective 199 id="perspective4157-2" 200 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 201 inkscape:vp_z="1 : 0.5 : 1" 202 inkscape:vp_y="0 : 1000 : 0" 203 inkscape:vp_x="0 : 0.5 : 1" 204 sodipodi:type="inkscape:persp3d" /> 205 <inkscape:perspective 206 id="perspective4157-74" 207 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 208 inkscape:vp_z="1 : 0.5 : 1" 209 inkscape:vp_y="0 : 1000 : 0" 210 inkscape:vp_x="0 : 0.5 : 1" 211 sodipodi:type="inkscape:persp3d" /> 212 <inkscape:perspective 213 id="perspective4157-0" 214 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 215 inkscape:vp_z="1 : 0.5 : 1" 216 inkscape:vp_y="0 : 1000 : 0" 217 inkscape:vp_x="0 : 0.5 : 1" 218 sodipodi:type="inkscape:persp3d" /> 219 <inkscape:perspective 220 id="perspective4246" 221 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 222 inkscape:vp_z="1 : 0.5 : 1" 223 inkscape:vp_y="0 : 1000 : 0" 224 inkscape:vp_x="0 : 0.5 : 1" 225 sodipodi:type="inkscape:persp3d" /> 226 <inkscape:perspective 227 id="perspective4246-8" 228 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 229 inkscape:vp_z="1 : 0.5 : 1" 230 inkscape:vp_y="0 : 1000 : 0" 231 inkscape:vp_x="0 : 0.5 : 1" 232 sodipodi:type="inkscape:persp3d" /> 233 <inkscape:perspective 234 id="perspective4246-1" 235 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 236 inkscape:vp_z="1 : 0.5 : 1" 237 inkscape:vp_y="0 : 1000 : 0" 238 inkscape:vp_x="0 : 0.5 : 1" 239 sodipodi:type="inkscape:persp3d" /> 240 <inkscape:perspective 241 id="perspective4246-0" 242 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 243 inkscape:vp_z="1 : 0.5 : 1" 244 inkscape:vp_y="0 : 1000 : 0" 245 inkscape:vp_x="0 : 0.5 : 1" 246 sodipodi:type="inkscape:persp3d" /> 247 <inkscape:perspective 248 id="perspective4246-2" 249 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 250 inkscape:vp_z="1 : 0.5 : 1" 251 inkscape:vp_y="0 : 1000 : 0" 252 inkscape:vp_x="0 : 0.5 : 1" 253 sodipodi:type="inkscape:persp3d" /> 254 <inkscape:perspective 255 id="perspective4246-9" 256 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 257 inkscape:vp_z="1 : 0.5 : 1" 258 inkscape:vp_y="0 : 1000 : 0" 259 inkscape:vp_x="0 : 0.5 : 1" 260 sodipodi:type="inkscape:persp3d" /> 261 <inkscape:perspective 262 id="perspective4246-4" 263 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 264 inkscape:vp_z="1 : 0.5 : 1" 265 inkscape:vp_y="0 : 1000 : 0" 266 inkscape:vp_x="0 : 0.5 : 1" 267 sodipodi:type="inkscape:persp3d" /> 268 <inkscape:perspective 269 id="perspective4246-17" 270 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 271 inkscape:vp_z="1 : 0.5 : 1" 272 inkscape:vp_y="0 : 1000 : 0" 273 inkscape:vp_x="0 : 0.5 : 1" 274 sodipodi:type="inkscape:persp3d" /> 275 <inkscape:perspective 276 id="perspective4246-26" 277 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 278 inkscape:vp_z="1 : 0.5 : 1" 279 inkscape:vp_y="0 : 1000 : 0" 280 inkscape:vp_x="0 : 0.5 : 1" 281 sodipodi:type="inkscape:persp3d" /> 282 <inkscape:perspective 283 id="perspective4373" 284 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 285 inkscape:vp_z="1 : 0.5 : 1" 286 inkscape:vp_y="0 : 1000 : 0" 287 inkscape:vp_x="0 : 0.5 : 1" 288 sodipodi:type="inkscape:persp3d" /> 289 <inkscape:perspective 290 id="perspective4373-9" 291 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 292 inkscape:vp_z="1 : 0.5 : 1" 293 inkscape:vp_y="0 : 1000 : 0" 294 inkscape:vp_x="0 : 0.5 : 1" 295 sodipodi:type="inkscape:persp3d" /> 296 <inkscape:perspective 297 id="perspective4409" 298 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 299 inkscape:vp_z="1 : 0.5 : 1" 300 inkscape:vp_y="0 : 1000 : 0" 301 inkscape:vp_x="0 : 0.5 : 1" 302 sodipodi:type="inkscape:persp3d" /> 303 <inkscape:perspective 304 id="perspective4434" 305 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 306 inkscape:vp_z="1 : 0.5 : 1" 307 inkscape:vp_y="0 : 1000 : 0" 308 inkscape:vp_x="0 : 0.5 : 1" 309 sodipodi:type="inkscape:persp3d" /> 310 <inkscape:perspective 311 id="perspective4459" 312 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 313 inkscape:vp_z="1 : 0.5 : 1" 314 inkscape:vp_y="0 : 1000 : 0" 315 inkscape:vp_x="0 : 0.5 : 1" 316 sodipodi:type="inkscape:persp3d" /> 317 <inkscape:perspective 318 id="perspective4490" 319 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 320 inkscape:vp_z="1 : 0.5 : 1" 321 inkscape:vp_y="0 : 1000 : 0" 322 inkscape:vp_x="0 : 0.5 : 1" 323 sodipodi:type="inkscape:persp3d" /> 324 <inkscape:perspective 325 id="perspective5102" 326 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 327 inkscape:vp_z="1 : 0.5 : 1" 328 inkscape:vp_y="0 : 1000 : 0" 329 inkscape:vp_x="0 : 0.5 : 1" 330 sodipodi:type="inkscape:persp3d" /> 331 <inkscape:perspective 332 id="perspective5326" 333 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 334 inkscape:vp_z="1 : 0.5 : 1" 335 inkscape:vp_y="0 : 1000 : 0" 336 inkscape:vp_x="0 : 0.5 : 1" 337 sodipodi:type="inkscape:persp3d" /> 338 <inkscape:perspective 339 id="perspective5361" 340 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 341 inkscape:vp_z="1 : 0.5 : 1" 342 inkscape:vp_y="0 : 1000 : 0" 343 inkscape:vp_x="0 : 0.5 : 1" 344 sodipodi:type="inkscape:persp3d" /> 345 <inkscape:perspective 346 id="perspective5361-6" 347 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 348 inkscape:vp_z="1 : 0.5 : 1" 349 inkscape:vp_y="0 : 1000 : 0" 350 inkscape:vp_x="0 : 0.5 : 1" 351 sodipodi:type="inkscape:persp3d" /> 352 <inkscape:perspective 353 id="perspective6129" 354 inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 355 inkscape:vp_z="1 : 0.5 : 1" 356 inkscape:vp_y="0 : 1000 : 0" 357 inkscape:vp_x="0 : 0.5 : 1" 358 sodipodi:type="inkscape:persp3d" /> 359 </defs> 360 <sodipodi:namedview 361 id="base" 362 pagecolor="#ffffff" 363 bordercolor="#666666" 364 borderopacity="1.0" 365 inkscape:pageopacity="0.0" 366 inkscape:pageshadow="2" 367 inkscape:zoom="1.979899" 368 inkscape:cx="108.52304" 369 inkscape:cy="76.1401" 370 inkscape:document-units="px" 371 inkscape:current-layer="layer1" 372 showgrid="false" 373 inkscape:window-width="1424" 374 inkscape:window-height="1059" 375 inkscape:window-x="117" 376 inkscape:window-y="26" 377 inkscape:window-maximized="0" 378 fit-margin-top="0.1" 379 fit-margin-left="0.1" 380 fit-margin-right="0.1" 381 fit-margin-bottom="0.1" /> 382 <metadata 383 id="metadata7"> 384 <rdf:RDF> 385 <cc:Work 386 rdf:about=""> 387 <dc:format>image/svg+xml</dc:format> 388 <dc:type 389 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 390 <dc:title /> 391 </cc:Work> 392 </rdf:RDF> 393 </metadata> 394 <g 395 inkscape:label="Layer 1" 396 inkscape:groupmode="layer" 397 id="layer1" 398 transform="translate(-78.921385,-378.7493)"> 399 <path 400 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 401 d="m 98.571429,407.3798 c 555.000001,0 555.000001,0 555.000001,0" 402 id="path2816" 403 inkscape:connector-curvature="0" /> 404 <path 405 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 406 d="m 113.57143,401.6479 0,11.42857" 407 id="path4038" 408 inkscape:connector-curvature="0" /> 409 <path 410 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 411 d="m 162.61904,401.6479 0,11.42857" 412 id="path4038-4" 413 inkscape:connector-curvature="0" /> 414 <path 415 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 416 d="m 211.66667,401.6479 0,11.42857" 417 id="path4038-8" 418 inkscape:connector-curvature="0" /> 419 <path 420 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 421 d="m 260.71427,401.6479 0,11.42857" 422 id="path4038-5" 423 inkscape:connector-curvature="0" /> 424 <path 425 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 426 d="m 309.76191,401.6479 0,11.42857" 427 id="path4038-3" 428 inkscape:connector-curvature="0" /> 429 <path 430 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 431 d="m 358.80952,401.6479 0,11.42857" 432 id="path4038-1" 433 inkscape:connector-curvature="0" /> 434 <path 435 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 436 d="m 407.85712,401.6479 0,11.42857" 437 id="path4038-32" 438 inkscape:connector-curvature="0" /> 439 <path 440 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 441 d="m 456.90477,401.6479 0,11.42857" 442 id="path4038-32-0" 443 inkscape:connector-curvature="0" /> 444 <path 445 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 446 d="m 505.95238,401.6479 0,11.42857" 447 id="path4038-32-1" 448 inkscape:connector-curvature="0" /> 449 <path 450 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 451 d="m 555,401.6479 0,11.42857" 452 id="path4038-32-5" 453 inkscape:connector-curvature="0" /> 454 <rect 455 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 456 id="rect4147" 457 width="47.098743" 458 height="14.773863" 459 x="113.51569" 460 y="424.23651" 461 rx="4.7096338" 462 ry="4.3015814" /> 463 <rect 464 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 465 id="rect4147-4" 466 width="47.098743" 467 height="14.773863" 468 x="162.81586" 469 y="424.23651" 470 rx="4.7096338" 471 ry="4.3015814" /> 472 <rect 473 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 474 id="rect4147-6" 475 width="47.098743" 476 height="14.773863" 477 x="212.11604" 478 y="424.23651" 479 rx="4.7096338" 480 ry="4.3015814" /> 481 <rect 482 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 483 id="rect4147-69" 484 width="47.098743" 485 height="14.773863" 486 x="261.41623" 487 y="424.23651" 488 rx="4.7096338" 489 ry="4.3015814" /> 490 <rect 491 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 492 id="rect4147-7" 493 width="47.098743" 494 height="14.773863" 495 x="310.7164" 496 y="424.23651" 497 rx="4.7096338" 498 ry="4.3015814" /> 499 <rect 500 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 501 id="rect4147-5" 502 width="47.098743" 503 height="14.773863" 504 x="360.01657" 505 y="424.23651" 506 rx="4.7096338" 507 ry="4.3015814" /> 508 <rect 509 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 510 id="rect4147-54" 511 width="47.098743" 512 height="14.773863" 513 x="409.31677" 514 y="424.23651" 515 rx="4.7096338" 516 ry="4.3015814" /> 517 <rect 518 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 519 id="rect4147-43" 520 width="47.098743" 521 height="14.773863" 522 x="458.61694" 523 y="424.23651" 524 rx="4.7096338" 525 ry="4.3015814" /> 526 <rect 527 style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 528 id="rect4147-78" 529 width="47.098743" 530 height="14.773863" 531 x="507.91714" 532 y="424.23651" 533 rx="4.7096338" 534 ry="4.3015814" /> 535 <text 536 xml:space="preserve" 537 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 538 x="110.10663" 539 y="397.88794" 540 id="text4234"><tspan 541 sodipodi:role="line" 542 id="tspan4236" 543 x="110.10663" 544 y="397.88794">0</tspan></text> 545 <text 546 xml:space="preserve" 547 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 548 x="146.47003" 549 y="397.88794" 550 id="text4234-6"><tspan 551 sodipodi:role="line" 552 id="tspan4236-8" 553 x="146.47003" 554 y="397.88794">16384</tspan></text> 555 <text 556 xml:space="preserve" 557 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 558 x="196.06828" 559 y="397.88794" 560 id="text4234-4"><tspan 561 sodipodi:role="line" 562 id="tspan4236-3" 563 x="196.06828" 564 y="397.88794">32768</tspan></text> 565 <text 566 xml:space="preserve" 567 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 568 x="245.73245" 569 y="397.88794" 570 id="text4234-49"><tspan 571 sodipodi:role="line" 572 id="tspan4236-2" 573 x="245.73245" 574 y="397.88794">49152</tspan></text> 575 <text 576 xml:space="preserve" 577 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 578 x="294.8107" 579 y="397.88794" 580 id="text4234-68"><tspan 581 sodipodi:role="line" 582 id="tspan4236-9" 583 x="294.8107" 584 y="397.88794">65536</tspan></text> 585 <text 586 xml:space="preserve" 587 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 588 x="306.93814" 589 y="386.27118" 590 id="text4234-66"><tspan 591 sodipodi:role="line" 592 id="tspan4236-4" 593 x="306.93814" 594 y="386.27118">0</tspan></text> 595 <text 596 xml:space="preserve" 597 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 598 x="503.41278" 599 y="386.27118" 600 id="text4234-2"><tspan 601 sodipodi:role="line" 602 id="tspan4236-72" 603 x="503.41278" 604 y="386.27118">0</tspan></text> 605 <text 606 xml:space="preserve" 607 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 608 x="343.9451" 609 y="397.88794" 610 id="text4234-6-1"><tspan 611 sodipodi:role="line" 612 id="tspan4236-8-5" 613 x="343.9451" 614 y="397.88794">16384</tspan></text> 615 <text 616 xml:space="preserve" 617 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 618 x="541.42017" 619 y="397.88794" 620 id="text4234-6-4"><tspan 621 sodipodi:role="line" 622 id="tspan4236-8-9" 623 x="541.42017" 624 y="397.88794">16384</tspan></text> 625 <text 626 xml:space="preserve" 627 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 628 x="393.54333" 629 y="397.88794" 630 id="text4234-4-0"><tspan 631 sodipodi:role="line" 632 id="tspan4236-3-9" 633 x="393.54333" 634 y="397.88794">32768</tspan></text> 635 <text 636 xml:space="preserve" 637 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 638 x="443.20752" 639 y="397.88794" 640 id="text4234-49-1"><tspan 641 sodipodi:role="line" 642 id="tspan4236-2-7" 643 x="443.20752" 644 y="397.88794">49152</tspan></text> 645 <text 646 xml:space="preserve" 647 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 648 x="492.28577" 649 y="397.88794" 650 id="text4234-68-7"><tspan 651 sodipodi:role="line" 652 id="tspan4236-9-1" 653 x="492.28577" 654 y="397.88794">65536</tspan></text> 655 <text 656 xml:space="preserve" 657 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 658 x="125.76399" 659 y="434.6539" 660 id="text4476"><tspan 661 sodipodi:role="line" 662 id="tspan4478" 663 x="125.76399" 664 y="434.6539">ring</tspan></text> 665 <path 666 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)" 667 d="m 291.64075,441.72497 0,21.21321" 668 id="path4480" 669 inkscape:connector-curvature="0" /> 670 <path 671 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)" 672 d="m 328.76387,441.72497 0,21.21321" 673 id="path4480-1" 674 inkscape:connector-curvature="0" /> 675 <text 676 xml:space="preserve" 677 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 678 x="284.56973" 679 y="473.50385" 680 id="text5070"><tspan 681 sodipodi:role="line" 682 id="tspan5072" 683 x="284.56973" 684 y="473.50385">ch</tspan><tspan 685 sodipodi:role="line" 686 x="284.56973" 687 y="486.00385" 688 id="tspan5074">ct</tspan></text> 689 <text 690 xml:space="preserve" 691 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 692 x="323.18771" 693 y="472.53461" 694 id="text5076"><tspan 695 sodipodi:role="line" 696 id="tspan5078" 697 x="323.18771" 698 y="472.53461">ph</tspan><tspan 699 sodipodi:role="line" 700 x="323.18771" 701 y="485.03461" 702 id="tspan5080">pt</tspan></text> 703 <rect 704 style="fill:#5a750a;fill-opacity:1;stroke:none" 705 id="rect5082" 706 width="10.859776" 707 height="13.550571" 708 x="291.42346" 709 y="424.93753" /> 710 <text 711 xml:space="preserve" 712 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 713 x="582.85803" 714 y="421.52191" 715 id="text5084"><tspan 716 sodipodi:role="line" 717 id="tspan5086" 718 x="582.85803" 719 y="421.52191">value for</tspan><tspan 720 sodipodi:role="line" 721 x="582.85803" 722 y="434.02191" 723 id="tspan5088">indexes</tspan><tspan 724 sodipodi:role="line" 725 x="582.85803" 726 y="446.52191" 727 id="tspan5090">(prod_head,</tspan><tspan 728 sodipodi:role="line" 729 x="582.85803" 730 y="459.02191" 731 id="tspan5092">prod_tail, ...)</tspan></text> 732 <rect 733 style="fill:#5a750a;fill-opacity:1;stroke:none" 734 id="rect5082-5" 735 width="24.95269" 736 height="13.550571" 737 x="404.71667" 738 y="492.80005" /> 739 <text 740 xml:space="preserve" 741 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 742 x="434.3656" 743 y="502.33414" 744 id="text5116"><tspan 745 sodipodi:role="line" 746 x="434.3656" 747 y="502.33414" 748 id="tspan5293">used entries in ring</tspan></text> 749 <text 750 xml:space="preserve" 751 style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 752 x="78.791893" 753 y="466.47369" 754 id="text5261"><tspan 755 sodipodi:role="line" 756 id="tspan5263" 757 x="78.791893" 758 y="466.47369">size = 16384</tspan><tspan 759 sodipodi:role="line" 760 x="78.791893" 761 y="478.97369" 762 id="tspan5291">mask = 16383</tspan><tspan 763 sodipodi:role="line" 764 x="78.791893" 765 y="491.47369" 766 id="tspan5289">ph = pt = 6000</tspan><tspan 767 sodipodi:role="line" 768 x="78.791893" 769 y="503.97369" 770 id="tspan5265">ct = ch = 59000</tspan><tspan 771 sodipodi:role="line" 772 x="78.791893" 773 y="516.47369" 774 id="tspan5267">used_entries = (pt - ch) % 65536 = 12536</tspan><tspan 775 sodipodi:role="line" 776 x="78.791893" 777 y="528.97369" 778 id="tspan5287">free_entries = (mask + ct - ph) % 65536 = 3847</tspan></text> 779 <rect 780 style="fill:#5a750a;fill-opacity:1;stroke:none" 781 id="rect5082-7" 782 width="15.608779" 783 height="13.550571" 784 x="310.98422" 785 y="424.93753" 786 rx="2.5021396" 787 ry="4" /> 788 <rect 789 style="fill:#5a750a;fill-opacity:1;stroke:none" 790 id="rect5082-3" 791 width="14.649387" 792 height="13.550571" 793 x="293.27341" 794 y="424.93753" 795 rx="2.2558498" 796 ry="2.2" /> 797 <rect 798 style="fill:#5a750a;fill-opacity:1;stroke:none" 799 id="rect5082-56" 800 width="13.128264" 801 height="13.550571" 802 x="315.93643" 803 y="424.93753" /> 804 <path 805 style="fill:#5a750a;fill-opacity:1;stroke:#fd0004;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)" 806 d="m 294.64286,452.71932 31.78571,0" 807 id="path5384" 808 inkscape:connector-curvature="0" /> 809 <text 810 xml:space="preserve" 811 style="font-size:4.97793007px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" 812 x="294.35522" 813 y="460.33231" 814 id="text5962"><tspan 815 sodipodi:role="line" 816 id="tspan5964" 817 x="294.35522" 818 y="460.33231">used_entries</tspan></text> 819 </g> 820</svg> 821