AVLMAP is a key:data pair data mapping (associative array) library for C programming based on AVL balanced binary trees. Added features include ordered data retrieval forward or reverse, support for optional duplicate keys (e.g. an extra linked list not needed), and the ability to find the nearest member if an exact match isn't available. Both key and data types may be selected from a choice of C data types including string and array variations. One mapping always has one key type, but data types may be mixed within a mapping.
Babelj is a language server for Java. It allows programs written in practically any language to fully interact with Java. Client libraries currently exist for PHP3 and Java. Babelj can be used as an out of the box bridge between PHP and Java and adding support for new languages is a snap as well.
BioJava aims to provide a comprehensive set of Java components for the rapid development of applications in Bioinformatics. It contains interfaces for representing Sequences, Features, and other important bioinformatics concepts. It can also read and write sequence data in a variety of common formats and communicate with Ensembl databases and with DAS and BioCorba servers.
Calc is arbitrary precision arithmetic system that uses a C-like language. It's useful as a calculator, an algorithm prototype, and as a mathematical research tool. More importantly, calc provides a machine-independent means of computation. Calc comes with a rich set of builtin mathematical and programmatic functions.
CwMtx is a library written in C++ that provides the matrix and vector operations that are used extensively in engineering and science problems. A special feature of this library is the quaternion class which implements quaternion math. Quaternions are very useful for attitude determination in 3D space because they do not suffer from singularities. Furthermore, successive rotations and transformations of vectors can be accomplished by simple quaternion multiplication. Attitude dynamics can be expressed in a very compact form using quaternions
dnsjava is an implementation of the DNS protocol in Java. It supports all of the common record types. dnsjava provides both high and low level access to the resolver. The high level functions perform queries for records of a given name, type, and class, and return an array of records. A cache is used to reduce the number of queries sent. The low level functions allow direct manipulation of dns messages and records, as well as allowing additional resolver properties to be set. A 'dig' clone, dynamic update program, and basic server are also included. Extensions to the DNS protocol are supported as well (DNSSEC, TSIG, EDNS0).