All Projects → tlx → Tlx

tlx / Tlx

Licence: bsl-1.0
TLX - A Collection of Sophisticated C++ Data Structures, Algorithms, and Miscellaneous Helpers

Labels

Projects that are alternatives of or similar to Tlx

Js Algorithms
A collection of algorithms written in javascript
Stars: ✭ 182 (-8.54%)
Mutual labels:  algorithm
Fuse
🔍 Fuzzy search for PHP based on the Bitap algorithm
Stars: ✭ 189 (-5.03%)
Mutual labels:  algorithm
Algorithm
Leetcode 组队刷题
Stars: ✭ 193 (-3.02%)
Mutual labels:  algorithm
Library Checker Problems
The problem data (Test case generator, judge's solution, task, ...) of Library Checker
Stars: ✭ 183 (-8.04%)
Mutual labels:  algorithm
Dailycodebase
2 month data structures and algorithmic scripting challenge starting from 20th December 2018 - Coding is Fun! 💯💯 Do it everyday!! Also, Do give us a ⭐ if you liked the repository
Stars: ✭ 186 (-6.53%)
Mutual labels:  algorithm
Beginners Python Examples
Basic Python CLI programs
Stars: ✭ 190 (-4.52%)
Mutual labels:  algorithm
Matlab Octave
This repository contains algorithms written in MATLAB/Octave. Developing algorithms in the MATLAB environment empowers you to explore and refine ideas, and enables you test and verify your algorithm.
Stars: ✭ 180 (-9.55%)
Mutual labels:  algorithm
Rrt Algorithms
n-dimensional RRT, RRT* (RRT-Star)
Stars: ✭ 195 (-2.01%)
Mutual labels:  algorithm
Rank bm25
A Collection of BM25 Algorithms in Python
Stars: ✭ 187 (-6.03%)
Mutual labels:  algorithm
Data Structures And Algorithms
Data Structures and Algorithms implementation in Go
Stars: ✭ 2,272 (+1041.71%)
Mutual labels:  algorithm
Cosmos
Hacktoberfest 2021 | World's largest Contributor driven code dataset | Algorithms that run our universe | Your personal library of every algorithm and data structure code that you will ever encounter |
Stars: ✭ 12,936 (+6400.5%)
Mutual labels:  algorithm
Interview Questions
List of all the Interview questions practiced from online resources and books
Stars: ✭ 187 (-6.03%)
Mutual labels:  algorithm
Algorithm course
国科大 算法分析与设计 卜东波 作业答案整理(2016)
Stars: ✭ 190 (-4.52%)
Mutual labels:  algorithm
Algorithms4 Common
🔥Algorithms, 4th Edition 算法4精华笔记,通俗理解,算法收集与强化。
Stars: ✭ 183 (-8.04%)
Mutual labels:  algorithm
Textrank
🌀 ⚡️ 🌍 TextRank (automatic text summarization) for PHP8
Stars: ✭ 193 (-3.02%)
Mutual labels:  algorithm
Dtl
diff template library written by C++
Stars: ✭ 180 (-9.55%)
Mutual labels:  algorithm
Algorithms
This repository is for learning and understanding how algorithms work.
Stars: ✭ 189 (-5.03%)
Mutual labels:  algorithm
Arts
每周一道算法一本书
Stars: ✭ 199 (+0%)
Mutual labels:  algorithm
Clrs
CLRS in C++
Stars: ✭ 195 (-2.01%)
Mutual labels:  algorithm
Primestereomatch
A heterogeneous and fully parallel stereo matching algorithm for depth estimation, implementing a local adaptive support weight (ADSW) Guided Image Filter (GIF) cost aggregation stage. Developed in both C++ and OpenCL.
Stars: ✭ 191 (-4.02%)
Mutual labels:  algorithm

tlx - Collection of C++ Data Structures, Algorithms, and Miscellaneous Helpers

tlx is a collection of C++ helpers and extensions universally needed, but not found in the STL.The most important design goals and conventions are:

  • high modularity with as little dependencies between modules as possible.
  • attempt to never break existing interfaces.
  • compile on all platforms with C++ – smartphones, supercomputers, windows, etc.
  • zero external dependencies: no additional libraries are required.
  • warning and bug-freeness on all compilers.
  • keep overhead down – small overall size such that is can be included without bloating applications.

--->> Doxygen Documentation <<---

Build Status Build status Coverage Status

List of the most commonly used components:

  • CountingPtr – an intrusive reference counting pointer
  • die() - Simple Invariant Testing : die(), die_unless(), die_if(), die_unequal().
  • logger.hpp : LOG, LOG1, LOGC, sLOG, wrap_unprintable().
  • Miscellaneous: timestamp(), unused(), vector_free().
  • Algorithms : merge_combine(), exclusive_scan(), multiway_merge(), parallel_multiway_merge(), multisequence_selection(), multisequence_partition().
  • Data Structures : RingBuffer, SimpleVector, StringView, B+ Trees, Loser Trees, RadixHeap, (Addressable) D-Ary Heap
  • Defines and Macros : TLX_LIKELY, TLX_UNLIKELY, TLX_ATTRIBUTE_PACKED, TLX_ATTRIBUTE_ALWAYS_INLINE, TLX_ATTRIBUTE_FORMAT_PRINTF, TLX_DEPRECATED_FUNC_DEF.
  • Message Digests : MD5, md5_hex(), SHA1, sha1_hex(), SHA256, sha256_hex(), SHA512, sha512_hex().
  • Math Functions : integer_log2_floor(), is_power_of_two(), round_up_to_power_of_two(), round_down_to_power_of_two(), ffs(), clz(), ctz(), abs_diff(), bswap32(), bswap64(), popcount(), power_to_the, Aggregate, PolynomialRegression.
  • String Algorithms : starts_with(), ends_with(), contains(), contains_word(), trim(), replace_all(), erase_all(), join(), split(), split_view(), split_words(), union_words(), split_quoted(), join_quoted(), to_lower(), hexdump(), bitdump_le8(), word_wrap(), escape_html(), parse_uri(), parse_uri_form_data(), parse_si_iec_units(), format_iec_units(), ssprintf(), expand_environment_variables(), levenshtein(), hash_djb2(), hash_sdbm().
  • Meta-Template Programming : call_foreach(), apply_tuple(), vmap_foreach(), Log2Floor, FunctionChain, FunctionStack, is_std_pair, is_std_tuple, is_std_vector, is_std_array, TLX_MAKE_HAS_MEMBER.
  • Sorting Algorithms : parallel_mergesort() (experimental parallel merge sort from MCSTL), sort_strings() (using radix sort and multikey quicksort), sort_strings_parallel() (using parallel super scalar string sample sort), sorting network for up to sixteen elements.
  • Backtrace Printing : print_cxx_backtrace().
  • Command Line Parsing : CmdlineParser.
  • Multi-Phase Timer: MultiTimer, ScopedMultiTimerSwitch, ScopedMultiTimer.
  • Fast Delegates : Delegate - a better std::function<> replacement.
  • SipHash : simple string hashing siphash()
  • StackAllocator : stack-local allocations
  • Threading : ThreadPool, Semaphore, ThreadBarrierMutex, ThreadBarrierSpin.

Bugs

Please report bugs via the github issue tracking system.

License

tlx is licensed under the Boost Software License - Version 1.0.

If you use tlx in an academic context or publication, please cite it as

@Misc{TLX,
  title = 	 {{TLX}: Collection of Sophisticated {C++} Data Structures, Algorithms, and Miscellaneous Helpers},
  author = 	 {Timo Bingmann},
  year = 	 2018,
  note = 	 {\url{https://panthema.net/tlx}, retrieved {Oct.} 7, 2020},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].