Skip to content

Commit

Permalink
busy commit
Browse files Browse the repository at this point in the history
  • Loading branch information
planetis-m committed Apr 15, 2024
1 parent dbdbee9 commit 3fea8c5
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
24 changes: 12 additions & 12 deletions docs/sorted.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jsonpak/sorted</title>
<title>src/jsonpak/sorted</title>

<!-- Favicon -->
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
Expand All @@ -20,7 +20,7 @@
<body>
<div class="document" id="documentId">
<div class="container">
<h1 class="title">jsonpak/sorted</h1>
<h1 class="title">src/jsonpak/sorted</h1>
<div class="row">
<div class="three columns">
<div class="theme-select-wrapper">
Expand Down Expand Up @@ -93,7 +93,7 @@ <h1 class="title">jsonpak/sorted</h1>
<div class="section" id="6">
<h1><a class="toc-backref" href="#6">Imports</a></h1>
<dl class="item">
<a class="reference external" href="bitabs.html">bitabs</a>, <a class="reference external" href="jsontree.html">jsontree</a>, <a class="reference external" href="jsonnode.html">jsonnode</a>, <a class="reference external" href="rawops.html">rawops</a>
<a class="reference external" href="jsontree.html">jsontree</a>, <a class="reference external" href="rawops_sorted.html">rawops_sorted</a>
</dl>
</div>
<div class="section" id="7">
Expand Down Expand Up @@ -121,9 +121,9 @@ <h1><a class="toc-backref" href="#12">Procs</a></h1>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>

The equality comparison for SortedJsonTree is faster than the one for JsonTree.
<a href="https://github.com/planetis-m/jsonpak/tree/main/src/jsonpak/sorted.nim#L56" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/edit/main/src/jsonpak/sorted.nim#L56" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
The equality comparison for <tt class="docutils literal"><span class="pre"><span class="Identifier">SortedJsonTree</span></span></tt> is faster than the one for <tt class="docutils literal"><span class="pre"><span class="Identifier">JsonTree</span></span></tt>.
<a href="https://github.com/planetis-m/jsonpak/tree/main/src/jsonpak/sorted.nim#L11" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/edit/main/src/jsonpak/sorted.nim#L11" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;

</dd>
</div>
Expand All @@ -134,11 +134,11 @@ <h1><a class="toc-backref" href="#12">Procs</a></h1>
<dt><pre><span class="Keyword">proc</span> <a href="#deduplicate%2CSortedJsonTree"><span class="Identifier">deduplicate</span></a><span class="Other">(</span><span class="Identifier">tree</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="sorted.html#SortedJsonTree"><span class="Identifier">SortedJsonTree</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>

<p>Deduplicates keys in <tt class="docutils literal"><span class="pre"><span class="Identifier">tree</span></span></tt> recursively. If duplicate keys are found, only the last occurrence of each key is kept.</p>
<p>Deduplicates keys in <tt class="docutils literal"><span class="pre"><span class="Identifier">tree</span></span></tt> recursively. If duplicate keys are found, only the last occurrence of the key is kept.</p>
<p>The deduplication is performed in-place.</p>

<a href="https://github.com/planetis-m/jsonpak/tree/main/src/jsonpak/sorted.nim#L106" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/edit/main/src/jsonpak/sorted.nim#L106" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/tree/main/src/jsonpak/sorted.nim#L18" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/edit/main/src/jsonpak/sorted.nim#L18" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;

</dd>
</div>
Expand All @@ -151,8 +151,8 @@ <h1><a class="toc-backref" href="#12">Procs</a></h1>
<dd>

Sorts all the keys of <tt class="docutils literal"><span class="pre"><span class="Identifier">tree</span></span></tt> recursively, ensuring that the resulting tree has its keys in lexicographic order.
<a href="https://github.com/planetis-m/jsonpak/tree/main/src/jsonpak/sorted.nim#L34" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/edit/main/src/jsonpak/sorted.nim#L34" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/tree/main/src/jsonpak/sorted.nim#L6" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/planetis-m/jsonpak/edit/main/src/jsonpak/sorted.nim#L6" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;

</dd>
</div>
Expand All @@ -168,7 +168,7 @@ <h1><a class="toc-backref" href="#12">Procs</a></h1>
<div class="twelve-columns footer">
<span class="nim-sprite"></span>
<br>
<small style="color: var(--hint);">Made with Nim. Generated: 2024-04-15 09:19:19 UTC</small>
<small style="color: var(--hint);">Made with Nim. Generated: 2024-04-15 21:23:49 UTC</small>
</div>
</div>
</div>
Expand Down
12 changes: 6 additions & 6 deletions src/jsonpak/private/rawops_sorted.nim
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ proc rawDeduplicate*(tree: var JsonTree, n: NodePos, parents: var seq[PatchPos])
of opcodeObject:
parents.add n.PatchPos
var totaldiff = 0
var pos = n.firstSon.int
var curr = 0
var last = len(tree, n)-1
var pos = n.firstSon.int
while curr <= last:
var i = curr
var tmp = pos
Expand All @@ -71,21 +71,21 @@ proc rawDeduplicate*(tree: var JsonTree, n: NodePos, parents: var seq[PatchPos])
dec totaldiff, diff
else:
inc curr
if not isAtom(tree, pos+1):
rawDeduplicate(tree, NodePos(pos+1), parents)
if isAtom(tree, pos+1): discard
else: rawDeduplicate(tree, NodePos(pos+1), parents)
inc pos
nextChild tree, pos
if totaldiff < 0:
rawUpdateParents(tree, parents, totaldiff)
parents.setLen(parents.high)
of opcodeArray:
parents.add n.PatchPos
var pos = n.int+1
var pos = n.firstSon.int
let last = len(tree, n)-1
var curr = 0
while curr <= last:
if not isAtom(tree, pos):
rawDeduplicate(tree, NodePos(pos), parents)
if isAtom(tree, pos): discard
else: rawDeduplicate(tree, NodePos(pos), parents)
inc curr
nextChild tree, pos
parents.setLen(parents.high)
Expand Down

0 comments on commit 3fea8c5

Please sign in to comment.