Skip to content

Latest commit

 

History

History
52 lines (32 loc) · 3.47 KB

readme.md

File metadata and controls

52 lines (32 loc) · 3.47 KB

lib_fts

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

Ports

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

FAQ

What is lib_fts?

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.

What license?

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.

What is FTS?

My initials; Forrest Thomas Smith.

What language is used?

Several! C++ is my baseline. Different or multiple languages are used where appropriate.

Why C++ and not C?

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.

Is C++11 used?

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.