10170 projects tagged "C"
Storing binary (boolean) matrices where each element is a byte (or worse, a 32 or 64 bit integer) is incredibly inefficient and wasteful, both in time and space. For example, a 10k square matrix requires 400Mb of RAM if stored as 32 bit int values. Binmat is a library that bit-packs these matrices so that this 10k square matrix requires just 12.5Mb (the minimum space possible). More than that, binmat takes advantage of extremely fast bit-operations when multiplying matrices. The usual series of multiplications and additions required to compute each element are replaced by bitwise AND and OR operations. Furthermore, on 64-bit hardware each bitwise operation can replace up to 64 multiplications or additions, reducing operations that can take hundreds of clock cycles down to just a single cycle. This gives rise to some very considerable performance increases, especially when taking the power of a matrix. Binary exponentiation is implemented to further improve the performance of higher matrix powers.
lihata is a compact textual language which can represent a tree of lists, hashes, and tables. The syntax tries to be minimal and flexible to allow formatting a lihata file to fit the context it represents. The source release contains an event and DoM parser and helper functions for maintaining lihata trees. lihata is a convenient language for both simple and complex configuration files and text representation of data files.
se is a screen-oriented version of the classic UNIX text editor ed. The editor implements many of the commands of ed, but instead of being line-oriented, se is screen-oriented. The command syntax is very familiar to users who already know ed. If you get stuck, there is a built-in help system that describes many of the available commands. Many configurable options can be loaded from a .serc file. se can be run interactively or in a script via the included scriptse utility. The editor is portable across many platforms, supporting major Linux and BSD distributions as well as other systems like GNU, Minix, Haiku, OpenSolaris, and Cygwin.
Termdebug is a set of utilities for recording and replaying the input and output of terminal programs. Its main goal is to aid in developing and debugging terminal programs. Other programs such as termrec/termplay, nethack-recorder/player, and script/scriptreplay only record the output. However, when debugging an interactive terminal program, the input is often as important as the output.
foo2hbpl is an open source printer driver for printers that use the HBPL version 2 wire protocol for their print data, such as the Dell 1355, Fuji Xerox DocuPrint CM205, or the Xerox WorkCentre 6015. These printers are often erroneously referred to as winprinters or GDI printers. However, Microsoft GDI only mandates the API between an application and the printer driver, not the protocol on the wire between the printer driver and the printer. In fact, HBPL printers are raster printers that happen to use a very efficient wire protocol. HBPL is just one of many wire protocols that are in use today, such as Postscript, PCL, Epson, ZjStream, etc. This driver uses Ghostscript to perform all of the heavy lifting (image processing). There are five major components to the foo2hbpl printer driver: foo2hbpl2 (the page image to protocol conversion engine of the driver); foo2hbpl2-wrapper (a shell script (compatible with foomatic) that runs ghostscript and foo2hbpl in a pipeline); icc2ps (converts an ICM color profile to a Postscript CRD, which is then fed into Ghostscript before the users Postscript program); foomatic-db (foomatic database entries that describe the supported printers and their options so that printer spoolers know how to access the printer using foo2hbpl2-wrapper); and hbpldecode (a tool for developers to inspect HBPL streams).
halttimer waits for LIRC events or SIGUSR1 and sets a timer which will initiate the shutdown sequence (via "sudo halt" by default) when the time is up. The timer's timeout decreases with each keypress by a specified amount of time. Visualization is done using an on-screen-display (OSD).
AeonWave Audio-FX is real-time, hardware accelerated, cross platform audio effects software for guitar players, singers, vocalists, voice overs, or DJs. Originally designed as an audio effects applet for instrumentalists, it now extends to areas like voice processing for vocalists or live or podcasting DJ work. Effects include Compressor, Phaser, Flanger or Chorus, Wah, Distortion, and Reverb with echo.
Tools to visualize and process biomechanical data without manufacturer restrictions.