Coder Social home page Coder Social logo

single_file_libs's People

Contributors

adam-sawicki-a avatar adamyaxley avatar adishavit avatar arnavb avatar campisano avatar carlochess avatar chrberger avatar danengelbrecht avatar dbohdan avatar ddiakopoulos avatar floooh avatar fytch avatar hardikp avatar henryiii avatar hschmale16 avatar ibob avatar ideasman42 avatar jpcy avatar kevin-duarte avatar krixano avatar leandros avatar lh3 avatar loupvaillant avatar lpea avatar mackron avatar nemequ avatar nothings avatar readmecritic avatar roukaour avatar sawickiap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

single_file_libs's Issues

dmc_unrar, a single-file library to unpack RAR archives

Hej!

I just published https://github.com/DrMcCoy/dmc_unrar, a dependency single-file library to unpack and decompress RAR archives, usable from both C and C++. The license is GPLv2+, though, because the unrar code is based on existing GPLv2+ and LGPLv2+ code.

It can unpack RAR 1.5, 2.0/2.6 (including audio/media compression) and 2.9/3.6 (including PPMd, and all stock filters except the Itanium one). It can't do RAR 5 yet and it also doesn't support generic filter bytecode (which would run on a RARVM). There's several other smaller features still missing, but it is very much usable already.

Cheers
Sven

BTAC1C: Extended ADPCM Mini Encoder/Decoder

mentioned on Twitter, but trying here, if there is something special about this:
https://github.com/cr88192/bgbtech_misc/blob/master/mini/btac1c_mini0.h

a basic format spec:
https://github.com/cr88192/bgbtech_misc/wiki/BTAC1C

what is it:
a variant of MS-IMA-ADPCM, with some stuff to fudge blocks to power-of-2 sizes, and some extended filters (intended to hopefully allow for higher audio quality vs raw ADPCM);
has a compatible subset with the normal MS-IMA-ADPCM (mono audio can be decoded, and encoder can be forced to produce normal ADPCM).

what is it intended for:
mostly for allowing arbitrary blocks to be decoded in arbitrary order, such as in the back-end of a mixer;
this avoids the cost (and memory use) of up-front decoding into PCM, while IME generally fast enough to not add a significant overhead over the use of raw PCM audio, with a bitrate not significantly worse than typical MP3 audio (given ~ 4 bits/sample, 22kHz gives 88kbps, and 11kHz gives 44kbps).

what does this not address:
it doesn't directly address either WAV loading, or managing a sample-block cache, as this would add a fair bit of code (and a simplistic WAV loader which spits out PCM would completely miss the point).

approx measured speeds (on a 3 GHz AMD K10, MSVC /O2):
stereo: encode= ~ 3 megasamples/second, decode=~ 42 megasamples/second
mono: encode= ~ 10 megasamples/second, decode=~ 63 megasamples/second

license: MIT.

side notes:
elsewhere I also have a Windows ACM implementation (decodes this variant, but only encodes an older/simpler subset for now);
this is derived mostly from code copy/pasted from my 3D engine.

AVL tree implementation

Hi,

I have a public-domain AVL tree implementation in pure C89 that works well on embedded devices and in general applications as well. You can ignore the LICENSE file in the repository, as it's simply a public-domain placeholder. See src/avl.[ch] for the actual library code.

I have several other libraries that I will clean up and submit issues for as well, time permitting.

  • ethereal

Linear time distance field and Voronoi diagram

The algorithm used in sdf.h does multiple passes and only produces an approximation. Since its invention, many exact linear time algorithms have been proposed, but people keep implementing the old algorithm.
I thought this might be a good opportunity to promote one of the newer algorithms.

https://github.com/983/df

Add webview library (for cross-platform web UI)

https://github.com/zserge/webview

A library creates a window with full-size webview and allows bi-directional communication between C/C++ and JavaScript inside the webview. The library was created in order to provide a simple way for creating modern nice-looking desktop GUI apps.

It can qualify as 2 files, one C/C++ header and a separate LICENSE file (MIT):

Header itself is usable on Linux, MacOS and Windows (CI ensures it works on both 32- and 64-bit systems). Header can be used from both, C99 and C++.

Howard Hinnant's date and time libraries for C++11/14

This is a series of MIT-licensed, one-file libraries for C++11 and C++14. They have been featured in CppCon for several years, and are in the process of becoming part of C++20.

https://github.com/HowardHinnant/date

  • date.h - provides various types for calculating dates and durations.

These build on top of date.h:

  • tz.h and tz.cpp (two files) - timezone support, with a tzdata parser.
  • isoweek.h- ISO week date calendar support
  • julian.h - Julian calendar support
  • islamic.h - Islamic calendar support

Json parse

in the parsing part may be the cJason lib is appreciate

linkom licensing

Hi! Thank you for including my library.

linkom is MIT-licensed. Did you detect any problem with that on my lib? Thank you very much.

Hernan

possible candidate: visit_struct

I have a library here called visit_struct which might fit with your criteria:

https://github.com/cbeck88/visit_struct

There are technically several files here, not just one, however, the main file visit_struct.hpp can be used as a stand-alone and gets you the vast majority of the functionality. I think this is how most are using it. The extra headers are for extra features / compatibility with other libraries.

The main header is also quite short and the library as a whole is minimalistic, I think it fits well with the premise here.

Cheers

CSV parser

How can I contribute including CSV parser libraries?

PS: single_file_libs is a very nice ideia!

Add CImg, C++ Template Image Processing Toolkit

The CImg Library is a small, open-source, and modern C++ toolkit for image processing. It is made of a single include-only header file CImg.h

http://cimg.eu (https://github.com/dtschump/CImg)

Category: images
License: CeCILL-C (close to the GNU LGPL) or CeCILL (compatible with the GNU GPL)
API: C++
Files: 1
Description: multi-format image processing and display

#include "CImg.h"
using namespace cimg_library;
int main(void)
{
  CImg<unsigned char> image("lena.jpg");
  image.blur(2.5);
  CImgDisplay main_disp(image,"Lena (blurred)");
  while (!main_disp.is_closed()) {
    main_disp.wait();
  }
  return 0;
}

What about Broken?

https://github.com/kobalicek/broken

It's public domain, but I'm not sure if it matches all conventions. You need 2 or 3 files (depends whether you want to use the provided broken_main.cpp file, which just calls BrokenAPI:run()). It's C++ only as it relies on static initialization.

Add HippoMocks

C++ mocking library (test support), single header file (in c++03 variant). Can runtime mock any interface or free library function on a variety of dev platforms (Mac, Linux, Windows supported). Already existed since 2008...

https://github.com/dascandy/hippomocks

add ennorehling/clibs/selist.[hc]

From my own collection of single-file libraries, I would like to submit selist.[hc], which implement a space-efficient list by way of an unrolled linked list, by bunching up several nodes into one, reducing both memory overhead for pointers and required number of allocations.

My repository is here: https://github.com/ennorehling/clibs and it contains more than those two files, but I don't feel the rest of the code is ready for submission (yet).

Two of my tiny libs

Hi,

I like this collection. Wondering if these are admissible:

XPL a scripting language in C that as small as a quark ;P

framepacker a texture bin packing algorithm in C++.

Both are single header only.

Regards.

miniexpect

miniexpect is an expect-like library for C written as two files, a source file and a header file, so I believe it fits the definition. It has a single dependency (PCRE) but that is very widely available, even on Android. I have compiled this on many different Linux architectures, but to be fair never on Windows, although I don't have a reason to believe it would not work on Windows.

Source: http://git.annexia.org/?p=miniexpect.git;a=tree (only miniexpect.c and miniexpect.h are required, the other files are documentation, tests and examples).

More about it: https://rwmj.wordpress.com/2014/04/25/miniexpect-a-small-expect-library-for-c/

Added benhoyt/inih

inih is a simple .INI file parser for configuration files, perfect for embedded systems (I wrote a Nintendo 3DS Homebrew that used it). Would be a great addition to this list, for when you need something simpler than JSON for config files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.