The R6 package allows the creation of classes with reference
semantics, similar to R's built-in reference classes. Compared to
reference classes, R6 classes are simpler and lighter-weight, and
they are not built on S4 classes so they do not require the methods
package. These classes allow public and private members, and they
support inheritance, even when the classes are defined in different
packages.
The libffi library provides a portable, high level programming
interface to various calling conventions. This allows a programmer to
call any function specified by a call interface description at run
time.
The Firm library implements the Firm intermediate representation (IR). libFirm
contains algorithms for construction of the SSA form directly from the
attributed syntax tree. A set of analyses and optimisation phases is provided.
This version includes a complete backend for the IA32 architecture, as well as
some unfinished backends for SPARC, ARM
* support for object oriented type hierarchies
* analyses: dominance, loop tree, execution frequency, control dependencies,
call graph, rapid type, def-use, alias analysis, class hierarchy analysis
* Optimisations: constant folding, local common subexpression elimination,
global common subexpression elimination, code placement, operator strength
reduction, scalar replacement, load/store, control flow optimisations,
if-conversion, partial condition evaluation, reassociation, tail recursion
elimination, inlining, procedure cloning, dead code elimination, ...
* enhanced debugging support: extensive checkers, breakpoints on node creation,
entity creation, graph dumping
* lowering of intrinsics, double word arithmetics, bitfields
* backend with SSA based register allocation including several algorithms for
spilling and copy coalescing. Instruction and block scheduling, support for
ABI handling.
* working ia32 backend with support for x87 and SSE2 floating point
* handwritten recursive descent C90/C99 frontend available (lang/cparser)
LibFlatArray acts as a highly efficient multi-dimensional array of
arbitrary objects (array of structs, AoS), but really uses a struct of
arrays (SoA) memory layout. It's great for writing vectorized code and
its lightning-fast iterators give you access to neighboring elements
with zero address generation overhead.
Fortuna PRNG library for generating random numbers
libfortuna is a C library based on code extracted from BSD licensed PostgreSQL
sources. It generates numbers with decent randomness.
A highly performant unique identifier generator written in Go.
Library and tools to access the New Technology File System (NTFS)
This project (double-conversion) provides binary-decimal and decimal-binary
routines for IEEE doubles.
The library consists of efficient conversion routines that have been extracted
from the V8 JavaScript engine. The code has been refactored and improved so that
it can be used more easily in other projects.
libftdi - A library (using libusb) to talk to FTDI's FT2232C,
FT232BM and FT245BM type chips including the popular bitbang mode.
Note: When you get a -5 error "can't claim usb device" during
ftdi_usb_open(), make sure the kernel ftdi_sio driver is unloaded.
libDSP is C++ class library of common digital signal processing functions.