SIMD-accelerated libjpeg-compatible JPEG codec library
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.
A cross-platform library that gives apps easy access to USB devices
Library to enable user space application programs to communicate with USB devices
This is the fast and Free (LGPL license) real time MPEG Audio Layer 1, 2 and 3 decoding library and console player. It uses floating point or integer math, along with several special optimizations (3DNow, SSE, ARM, ...) to make it most efficient.
Dlib is a C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.
A multi-format module player and library
xmp is a module player for Unix-like systems that plays over 90 mainstream and obscure module formats from Amiga, Atari, Acorn, Apple IIgs and PC, including Protracker (MOD), Scream Tracker 3 (S3M), Fast Tracker II (XM) and Impulse Tracker (IT) files.
FSP - File Service Protocol. FSP is lightweight UDP based protocol for transferring files. It is designed for anonymous transfers over unreliable networks.
C++ Library collection
Containers to extend STL: graph, tree, matrix, smart-pointer. Persistence (serialisation) of C++ data structures. Portability: subprocesses, TCP, file system. Reusable subsystems: library manager, message handler. Portable between OSs and compilers.
Packages to create a Unix like environment under MS-Windows
At this point this project is mainly wpkg which is a replica of dpkg and apt-get that works under Microsoft Windows and Unices. Since version 0.7.0 it works very nicely as it includes most of the important functionality of dpkg (i.e. most everything except dselect functions.) Otherwise, the Unix GNU Windows is expected to be a large set of packages that wpkg can handle. Packages of all the software available under MinGW and GnuWin32 so you can painlessly build a complete Unix like environment under Microsoft Windows.
Extract the TLD of any, world wide, URI.
The libtld is used to extract the TLD from any URI from anywhere in the world. The library recognizes all TLDs, whatever the number of levels the TLD includes (i.e. .com has one, .au has up to 4 such as .schools.nsw.edu.au) this library will be capable of extracting it. The library is for C, C++, and PHP.
Data structures and Algorithms library
Aleph-w is a library of data structures and algorithms implemented in and for C++. It contains the main data structures: single and double lists, special arrays (dynamic and of bits), many types of trees: multitrees, binary search trees, avl, red-black, randomized, treaps, splay and other interesting types. Several types of hash tables are implemented: separated chaining, open adressing with linear probing and double function hash; this last one has a garbage colector mechanism that allows to free deleted entries. Dynamic linear hash tables are implemented too. The main algorithms on graphs are implemented in an easy way and with good performance features. Network Flow (maximum and min cost), cut points, topological sort, spanning trees, min paths. etc. The graphs are generic in the sense that they can contain data independent of the algorithm. Several containers of the C++ STL library are implemented with Aleph-w. Their performance is better than GNU implementation
Extended C Library
Why Is libxc needed? There doesn't exist a library for ANSI C99 for common data containers, such as vectors, trees, etc. There also also doesn't exist a library for common functionality, such as error reporting/logging, string functions, configuration management (reading config files), etc... The programmer working in C doesn't have anything analogous to the Boost C++ library. The extended C library is intended to make some headway into providing this functionality. To ensure unrestricted usage the libxc project is provided under the very permissive BSD license. If you need a different license then please send me a request (lelanthran at gmail) and I'll do my best to satisfy your request. What's completed? As of writing, the following libraries have been written and tested: 1. Memory accounting/tracking 2. String operations 3. Vectors 4. Trees 5. Dictionary arrays 6. Configuration management See the wiki page for more information
An attempt to create a cross platform QT compatible serial port driver This code attempts to supports signal event driven design.
Fuzzy sets, logic, numbers; intuitionistic fuzzy sets, fuzzy linguis
Fuzzy sets for Ada is a library providing implementations of confidence factors with the operations not, and, or, xor, +, and *, classical fuzzy sets with the set-theoretic operations and the operations of the possibility theory, intuitionistic fuzzy sets with the operations on them, fuzzy logic based on the intuitionistic fuzzy sets and the possibility theory; fuzzy numbers, both integer and floating-point with conventional arithmetical operations, and linguistic variables and sets of linguistic variables with operations on them. String-oriented I/O is supported. A rich set of GTK+ GUI widgets is provided.
PHIGS (Programmer's Hierarchical Interactive Graphics System)
PHIGS is an API standard for rendering 3D computer graphics. During the 1990's OpenGL became a more popular 3D API for professionals, and it still is today. PHIGS remains to be widely used in the film industry. Open PHIGS uses OpenGL for rendering graphics rather than implementing it's own abstraction layer to the graphics hardware, or using the PHIGS Extension to X (PEX). The reason for doing so is that today every graphics card manufacturer provides their own OpenGL implementation, which takes full advantage of the accelerated drawing capabilities in the hardware. PHIGS is a higher level API than OpenGL that works with a hierarchical scene graph. Models are built up in a Centralized Structure Store (CSS), a database containing the drawing primitives and their attributes (color, line style, etc.). CSSes cand be shared among a number of views, known under PHIGS as a workstation. PHIGS is defined by the ISO standards ISO/IEC 9592 & 9593. Open PHIGS provides a library for C.
Tool to manage and manipulate BibTeX entries
BiBler is a software for managing references to scientific articles using BibTeX. BiBler runs with a windows GUI or can be used as a Python library
a CLI generator and and SW library
CLIck allows you to create flat or hierarchical CLI (command line interfaces) in an extremely easy and quick way, supporting very popular features like history with command recalling, context-based auto-completion, tab-based command list, automatic command-line help, special characters, automatic structure builder, and much more. CLIck is written in ANSI C and tested on C and C++ applications on several architectures. It doesn't depend on any external library and uses only a very small subset of POSIX APIs. Despite the project name, you won't need your mouse at all!
C++ library for OpenCL, parsers etc.
This project contains various C++ classes I wrote. Actually it starts with OpenCL support classes, later on I will add parser, storage i/o and network classes. The focus lies on clean interfaces and good documentation and the deliberate use of C++11.
A software components library
The Simple components for Ada library provides implementations of smart pointers for automatically collected objects (using reference counting), object persistence, unbounded and bounded arrays of smart pointers, generic unbounded arrays of private objects and plain pointers, generic sets, maps, B-trees, directed graphs, directed weighted graphs, stacks, and storage pools. It also includes table management, string editing, IEEE 754 support, and infix expression parsing tools. Implementations of some lock-free shared data structures are provided.
String editing and formatting library for Ada
Strings edit is a library that provides I/O facilities for integers, floating-point numbers, Roman numerals, and strings. Both input and output subroutines support string pointers for consequent stream processing. The output can be aligned in a fixed size field with padding. Numeric input can be checked against expected values range to be either saturated or to raise an exception. For floating-point output either relative or absolute output precision can be specified. UTF-8 encoded strings are supported, including wildcard pattern matching, sets and maps of code points, upper/lowercase, and other Unicode categorizations.
Unified Test and Logging layer for multiple programming languages
Modern software systems and application are commonly written in multiple languages, include scripting engines, and are frequently build on multiple specialized frameworks and middleware for a considerable diversity of runtime environments. The latest influencing update in development paradigm is the application of multicore processors. This projects is aimed to unify the required trace and logging output and integrate into debugging environments. The target is to provide general development, test, and production support of software environments based on multiple programming languages for distributed multicore environments.
Handling dimensioned values in Ada
The library provides an implementation of dimensioned values for Ada. Unit checks are made at run-time, if not optimized out by the compiler. SI and irregular measurement units are supported. Shifted units like degrees Celsius are supported too. Conversions from and back to strings are provided for all various irregular units. An extensive set of GTK widgets for dealing with dimensioned values is included, though use of GTK is not mandatory for the rest of the library.
A GUI library for designing gauges, meters, oscilloscopes, plotters
A library that is intended for designing high-quality industrial control widgets for Ada applications. The widgets are composed of transparent layers drawn by cairo. The widgets are fully scalable graphics. A time controlled refresh policy is supported for real-time and heavy-duty applications. The library supports caching graphical operations and stream I/O for serialization and deserialization. Ready-to-use gauge, meter, oscilloscope widgets are provided as samples as well as an editor widget for WYSIWYG design of complex dashboards. The software is based on GtkAda and cairoada, the Ada bindings to GTK+ and cairo.
A set of library for C++, including a script programming language
BPT (Pentacle Technology's Library in french) is a set of libraries which provide: A TCP scheduler based on select A simple dynamic library loader Parsing tool for INI format CString XOR cipher data DABSIC (Homemade script language) Sequence (Homemade sequence description language) Event callback library over SDL Network event callback library
This is a collection of code snippets, utilities and scripts I have written over decades as a technologist. I'm releasing them here to the public in the hopes that someone will find them as useful as I have.
Single-header graphics library to teach C++
Canvas++ is a very simple graphics library contained in single header file. It's purpose is to make teaching of C++ more colorful and funny for kids and students. The main idea is to wrap windows API calls into simple interface. You can start drawing next after "Hello world" example - just declare Window variable and call method draw() to start drawing.