single-file public domain libraries
lib | lang | doc | desc |
---|---|---|---|
fts_fuzzy_match | C++, JavaScript | readme, blog, demo | Fuzzy string matching inspired by Sublime Text |
fts_ballistic_projectile | C# (Unity) | blog, demo | Solve ballistic trajectory firing angles |
These are externally hosted, user written ports. I can not guarantee they are correct, up to date, or non-hostile. User beware!
lib | lang |
---|---|
fts_fuzzy_match | C#, F#, PHP, Python |
My personal take on STB style file libraries. Small librabries in one or two files that can be trivially drag'n'dropped into an existing project.
No convoluted build systems. No dependency rabbit holes. Easy to read, easy to use.
All source code is embedded with the following license:
This software is dual-licensed to the public domain and under the following license: you are granted a perpetual, irrevocable license to copy, modify, publish, and distribute this file as you see fit.
My initials; Forrest Thomas Smith.
Several! C++ is my baseline. Different or multiple languages are used where appropriate.
Because "proper" open source C code is full of gross macros and defines. I'd rather write simple code in a C++ namespace and call it a day.
Open source, cross-platform C often include a dozen defines and macros to let users turn knobs on or off resulting in a million permutations. An alternative solution is to provide the simplest possible implementation that can trivially modified by users to meet their specific needs. I prefer both writing and using the second.
There are some cases where user modification is expected. For example, a string processing algorithm or anything involving 3d math. Users can and should use their existing string or vector/matrix libraries. In such cases I prefer to provide basic implementations that be easily modified by the user. I believe that to be better than crufty, inscrutible macro schemes.
Core libs linked on this page are written in C++ but very near to C.
Test code is full of C++11, STL, and all kinds of icky things. Tread with caution!
Files in code/util are fully independent but not significant enough to warrant root status. They may be C++ oriented and may use C++11/14 features.