Brahe Logo

Downloads
Unix/Linux .tar.gz
Windows/Visual Studio 2005 Setup

Licensing
GNU General Public License (GPL)
Non-Free, Closed Source License

Brahe

A Heterogenous C Library of Numeric Functions

 

Brahe is where I put all sorts of useful mathematic functions that don't seem to fit anywhere else. Among the bits and pieces here, you'll find:

  • A function, brahe_sigdig, that rounds floating-point values to a specific number of significant digits -- very useful in scientific and engineering applications.
  • Several pseudorandom number generators, including the Marsenne Twister, various algorithms by Marsaglia, and ISAAC.
  • Least common multiple and greatest common denominator functions.
  • A few trigonometry functions for finding the inversions of hyperbolic sine, cosine, and tangent.

I implemented Brahe as a static link C library for portability. This only causes problems under Microsoft's .NET platform, which is somewhat antagonistic toward traditional C code. When time permits, I'll write a "safe" wrapper for Brahe. In the mean time, PInvoke works reasonably well if you're working with managed code.

As always, I'm interested in your comments.