libposix is an impementation of the core functionality of all Unix systems. It is a full, cross-platform implementation of the POSIX 2008 standard. It is meant to replace existing implementations of a Unix system's core libraries. It is an exact implementation of POSIX 2008 and nothing else (no extensions, no previous POSIX versions). However, it works well with possible extensions to the core system functionallity (for example, GNU or BSD).
libCVD is a very portable and high performance C++ library for computer vision, image, and video processing. The emphasis is on providing simple and efficient image and video handling and high quality implementations of common low-level image processing function. The library is designed in a loosely-coupled manner, so that parts can be used easily in isolation if the whole library is not required. The video grabbing module provides a simple, uniform interface for videos from a variety of sources (live and recorded) and allows easy access to the raw pixel data. Likewise, the image loading/saving module provides simple, uniform interfaces for loading and saving images from bitmaps to 64 bit per channel RGBA images. The image processing routines can be applied easily to images and video, and accelerated versions exist for platforms supporting SSE.
The dyncall library project provides a clean and portable C interface to dynamically issue foreign function calls using small call kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a modest number of instructions are used to invoke all calls.
cpuinfo consists of an API/library used by programs to get information about the underlying CPU. Such information includes CPU vendor, model name, cache hierarchy, and supported features (e.g. CMP, SMT, and SIMD). cpuinfo is also a standalone program to demonstrate the use of this API.
The HLA Standard Library was developed to support the High Level Assembler (HLA), but could be used with other assemblers or higher-level languages if the necessary headers were developed. It supports 32-bit versions of Windows, Linux, Mac OS X, and FreeBSD, and is written entirely in HLA. It includes the following modules: args, arrays, bits, chars, console, conversions, cset, date, environment, exceptions, file class, file I/O, filesys, lists, math, memory-mapped files, patterns, RNG, stderr, stdin, stdout, strings, tables, time, timer, zstrings, sockets, threads, and blob. An automated test suite is included.
HAVEGE (HArdware Volatile Entropy Gathering and Expansion) is a user-level software unpredictable random number generator for general-purpose computers that exploits modifications of the internal volatile hardware states as a source of uncertainty. It combines on-the-fly hardware volatile entropy gathering with pseudo-random number generation. The internal state includes thousands of internal volatile hardware states and is merely unmonitorable. It can support several hundreds of megabits per second on current workstations and PCs.
Bandwidth is primarily a memory bandwidth benchmark, but it can also measure network bandwidth. It measures the maximum memory bandwidth of each part of the memory system, including main memory, L1, L2, and L3 caches, framebuffer memory, and register-to-register. For many tests, it performs both sequential memory accesses as well as random memory accesses to provide a more real-world performance estimate. The tests support Linux (Intel), Windows/Cygwin, and Mac OS X. Its core routines are in assembly for x86 and x86-64 architectures with both SSE4 and AVX support. Bandwidth also includes automatic graphing of the results, stored to a BMP image file. The network bandwidth tests support Linux, Mac OS X, and Windows/Cygwin.
basE91 is an advanced method for encoding binary data as ASCII characters. It is similar to UUencode or base64, but is more efficient. The overhead produced by basE91 depends on the input data. It amounts at most to 23% (versus 33% for base64) and can range down to 14%, which typically occurs on 0-byte blocks. This makes basE91 very useful for transferring larger files over binary unsafe connections like e-mail or terminal lines.