Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qtreetbl improvements #107

Merged
merged 73 commits into from
Jul 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
9015d0c
code style of qtreetbl.h
wolkykim Jul 21, 2023
efecb49
implement qtreetbl_debug() & remove stdout prints
wolkykim Jul 21, 2023
2a61755
Improve unit tests with improved tree drawer for visual inspection
wolkykim Jul 21, 2023
7ce3d5d
Add more test cases
wolkykim Jul 21, 2023
e7f5278
comment updates
wolkykim Jul 21, 2023
e0d92ac
Add more insertion test
wolkykim Jul 21, 2023
06cb183
Make tree print prettier
wolkykim Jul 22, 2023
7e07065
Update print_tree
wolkykim Jul 22, 2023
833c064
update print_tree
wolkykim Jul 22, 2023
d5a47f4
update debug output example
wolkykim Jul 22, 2023
37e0c32
Add Stroh Snow's Rule 4 violation case
wolkykim Jul 22, 2023
3f61a5b
code style update
wolkykim Jul 22, 2023
e34dfbb
Combine free_obj and free_objs
wolkykim Jul 22, 2023
15f144d
code style
wolkykim Jul 22, 2023
2030873
Update LLRB rule checker
wolkykim Jul 22, 2023
831d4cd
Add ASSERT_TABLE_CHECK
wolkykim Jul 22, 2023
6128938
Add rule 6
wolkykim Jul 22, 2023
1be7215
pretty print
wolkykim Jul 22, 2023
72c3521
Comment updates
strohsnow Jul 22, 2023
6ac3900
Make tree print even prettier
strohsnow Jul 22, 2023
d5c21c7
Tree properties update
strohsnow Jul 22, 2023
4eac56e
Style fix
strohsnow Jul 22, 2023
b8231a5
Comments update
strohsnow Jul 22, 2023
c9d2863
Comments update
strohsnow Jul 22, 2023
383f2ff
Deletion algorithm fix
strohsnow Jul 22, 2023
49d3d43
Comments updare
strohsnow Jul 22, 2023
fb260f2
typo fix
wolkykim Jul 22, 2023
417e69d
code style
wolkykim Jul 22, 2023
c9a2e69
name update
wolkykim Jul 22, 2023
3cd2a03
Add performance test
wolkykim Jul 23, 2023
0415802
Add integrity check with random keys
wolkykim Jul 23, 2023
3a3ad93
test code
wolkykim Jul 23, 2023
3da8918
Remove test code
wolkykim Jul 23, 2023
9b3d1c0
fix unit tests and put back integrity tests
wolkykim Jul 23, 2023
180e462
Increase the duration of integrity check
wolkykim Jul 23, 2023
d9e6d17
Update comments
wolkykim Jul 23, 2023
7f58402
Add Stroh Snow to the contributors list
wolkykim Jul 23, 2023
58568ea
code style
wolkykim Jul 23, 2023
856193a
name change, _by_obj => obj
wolkykim Jul 24, 2023
3a49be4
qtreetbl to allow NULL data insertion
wolkykim Jul 24, 2023
b01ad19
Remove tailing whitespaces
wolkykim Jul 24, 2023
62c6871
Add more performance test
wolkykim Jul 24, 2023
a4d67f9
Add rotate counter metrics
wolkykim Jul 24, 2023
4c6baad
update perf test
wolkykim Jul 24, 2023
73d28fc
fix perf test
wolkykim Jul 24, 2023
1ce0342
style update
wolkykim Jul 24, 2023
2e4df59
code style
wolkykim Jul 24, 2023
901081f
Add drawing tree on perf test
wolkykim Jul 24, 2023
1944536
Update debug() to print integer type key names
wolkykim Jul 24, 2023
147348e
code style
wolkykim Jul 24, 2023
b921997
Add -v CLI parameter
wolkykim Jul 24, 2023
e8697e3
Reduce tree drawing but enable them with -v option
wolkykim Jul 24, 2023
b3f58c1
Performance tune
wolkykim Jul 24, 2023
bfad492
remove comment
wolkykim Jul 24, 2023
5fba0e7
Updated print_node
strohsnow Jul 24, 2023
84cf3cc
Updated find_min/max
strohsnow Jul 24, 2023
29b3d77
Code style
strohsnow Jul 24, 2023
fcee53a
code style
wolkykim Jul 24, 2023
544ef91
Merge branch 'tree' of github.com:wolkykim/qlibc into tree
wolkykim Jul 24, 2023
70f6781
Added 2-3 LLRB as comments
strohsnow Jul 25, 2023
f69288b
Removed repeated lock/unlock
strohsnow Jul 25, 2023
d38b35a
code readability
wolkykim Jul 25, 2023
c86abc9
Merge branch 'tree' of github.com:wolkykim/qlibc into tree
wolkykim Jul 25, 2023
601e534
Add LLRB234 directive to allow switching between 2-3-4 and 2-3 at the…
wolkykim Jul 25, 2023
8f48930
Typo fix
strohsnow Jul 25, 2023
15748c0
update unit tests
wolkykim Jul 25, 2023
fbdfb78
remove comment
wolkykim Jul 25, 2023
827d055
code readability
wolkykim Jul 26, 2023
406653d
Code style
strohsnow Jul 26, 2023
b3c503f
Merge remote-tracking branch 'origin/tree' into tree
strohsnow Jul 26, 2023
e419464
Comments update
strohsnow Jul 26, 2023
64a3ee3
code style
wolkykim Jul 26, 2023
544592e
regenerate docs
wolkykim Jul 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ The following people have helped with suggestions, ideas, code or fixing bugs:
* Maik Beckmann
* RQ
* [Ryan Gonzalez](https://github.com/kirbyfan64)
* [Stroh Snow](https://github.com/strohsnow)
* Umesh

If we have forgotten or misspelled your name, please let us know.
Binary file removed doc/html/bdwn.png
Binary file not shown.
26 changes: 13 additions & 13 deletions doc/html/dir_0b61c55142250c0cc363383afd8075a4.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>qLibc: containers Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
Expand All @@ -30,7 +30,7 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
Expand Down Expand Up @@ -65,31 +65,31 @@
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qgrow_8c.html">qgrow.c</a> <a href="qgrow_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qgrow_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qgrow_8c.html">qgrow.c</a></td></tr>
<tr class="memdesc:qgrow_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grow container that handles growable objects. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qhasharr_8c.html">qhasharr.c</a> <a href="qhasharr_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qhasharr_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qhasharr_8c.html">qhasharr.c</a></td></tr>
<tr class="memdesc:qhasharr_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static(array) hash-table implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qhashtbl_8c.html">qhashtbl.c</a> <a href="qhashtbl_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qhashtbl_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qhashtbl_8c.html">qhashtbl.c</a></td></tr>
<tr class="memdesc:qhashtbl_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hash-table container implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qlist_8c.html">qlist.c</a> <a href="qlist_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qlist_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qlist_8c.html">qlist.c</a></td></tr>
<tr class="memdesc:qlist_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Doubly Linked-list implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qlisttbl_8c.html">qlisttbl.c</a> <a href="qlisttbl_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qlisttbl_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qlisttbl_8c.html">qlisttbl.c</a></td></tr>
<tr class="memdesc:qlisttbl_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linked-list-table implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qqueue_8c.html">qqueue.c</a> <a href="qqueue_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qqueue_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qqueue_8c.html">qqueue.c</a></td></tr>
<tr class="memdesc:qqueue_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queue implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qstack_8c.html">qstack.c</a> <a href="qstack_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qstack_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qstack_8c.html">qstack.c</a></td></tr>
<tr class="memdesc:qstack_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qtreetbl_8c.html">qtreetbl.c</a> <a href="qtreetbl_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:qtreetbl_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tree Table container that implements "Left-Leaning Red-Black" BST algorithm. <br /></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qtreetbl_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qtreetbl_8c.html">qtreetbl.c</a></td></tr>
<tr class="memdesc:qtreetbl_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tree Table container that implements the Left-Leaning Red-Black BST algorithm. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qvector_8c.html">qvector.c</a> <a href="qvector_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qvector_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qvector_8c.html">qvector.c</a></td></tr>
<tr class="memdesc:qvector_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector container implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
Expand All @@ -99,7 +99,7 @@
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_0b61c55142250c0cc363383afd8075a4.html">containers</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7 </li>
</ul>
</div>
</body>
Expand Down
18 changes: 9 additions & 9 deletions doc/html/dir_40c73bf2095fd0473b1b85ccdcac2768.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>qLibc: extensions Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
Expand All @@ -30,7 +30,7 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
Expand Down Expand Up @@ -65,22 +65,22 @@
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qaconf_8c.html">qaconf.c</a> <a href="qaconf_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qaconf_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qaconf_8c.html">qaconf.c</a></td></tr>
<tr class="memdesc:qaconf_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apache-style configuration file parser. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qconfig_8c.html">qconfig.c</a> <a href="qconfig_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qconfig_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qconfig_8c.html">qconfig.c</a></td></tr>
<tr class="memdesc:qconfig_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">INI-style configuration file parser. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qdatabase_8c.html">qdatabase.c</a> <a href="qdatabase_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qdatabase_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qdatabase_8c.html">qdatabase.c</a></td></tr>
<tr class="memdesc:qdatabase_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Database wrapper. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qhttpclient_8c.html">qhttpclient.c</a> <a href="qhttpclient_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qhttpclient_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qhttpclient_8c.html">qhttpclient.c</a></td></tr>
<tr class="memdesc:qhttpclient_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">HTTP client object. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qlog_8c.html">qlog.c</a> <a href="qlog_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qlog_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qlog_8c.html">qlog.c</a></td></tr>
<tr class="memdesc:qlog_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotating file logger object. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qtokenbucket_8c.html">qtokenbucket.c</a> <a href="qtokenbucket_8c_source.html">[code]</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="qtokenbucket_8c_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qtokenbucket_8c.html">qtokenbucket.c</a></td></tr>
<tr class="memdesc:qtokenbucket_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Token Bucket implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
Expand All @@ -90,7 +90,7 @@
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_40c73bf2095fd0473b1b85ccdcac2768.html">extensions</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7 </li>
</ul>
</div>
</body>
Expand Down
Loading