BinaryParser is a class that serializes and unserializes binary data, making it possible to read and write binary data files for exchange with programs written in languages like C and Pascal. It is currently able to handle signed integers (small 8 bits, short 16 bits, int 32 bits), unsigned integers (byte 8 bits, word 16 bits, dword 32 bits) and floating point (IEEE754 float 32 bits and double 64 bits). The endianess of the binary value representation can be configured.
CElect is a console-based tool for determining a social preference ordering, such as an elected candidate or choice in a single-winner election, or the preferred composition of a multi-member council, based on a list of individual preference orderings (ballots) over the candidates or choices. It can also calculate the winner and social ordering when given a Condorcet matrix and list of candidates, though it is in that case limited to Condorcet methods. Of single-winner methods, it supports Dodgson, Simpson, Tideman/wv, first and second-order Copeland, and Schulze (all Condorcet methods), and FPTP, Borda, 1/n Borda, Hare, Nanson, and 1/n Nanson. Of proportional representation, it supports CPO-STV, CFPRM, and D'Hondt without lists.
The Cheap Matrix Package contains ready to use matrix and vector classes, optimized for minimum memory over speed. They were designed to have a natural syntax. It is possible to link with LAPACK, and utility functions. There is a framework for coding optimizers and building models, together with examples and documentation.