Fork me on GitHub

HMMoC-BFloat-Algebra by pedlefsen

C++ template(s) for representing very small real numbers.

A tiny C++ library supplying the Algebra<> template, for polymorphic representation of non-negative floating-point values in either native (eg double), log-transformed, or BFloat representations. BFloat is the Buoyant Float type, allowing fixed-precision representation at an arbitrary precision range. The library is based on code from: Lunter G. HMMoC—a compiler for hidden Markov models. Bioinformatics (2007) 23(18): 2485-2487. The code was derived by Ian Holmes and Gerton Lunter from Holmes I, Rubin GM. An expectation maximization algorithm for training hidden substitution models. J Mol Biol. 2002 Apr 12;317(5):753-64. You may use at will, subject to the GPL, but *please cite those two papers* in your academic publications associated with uses of this library. Thank you!

Dependencies

If you have BOOST serialization installed, you can compile HMMoC-BFloat-Algebra to use it -- but it is not required. See http://www.boost.org/doc/libs/1_46_1/libs/serialization/doc/index.html

Install

Simply compile the provided Algebra.cpp and Algebra.hpp files into your project. Alternately, you may use the provided Makefile to compile a library and link to it.

License

Apache Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)

Authors

Paul T. Edlefsen (pedlefsen@gmail.com)

Contact

(pedlefsen@gmail.com)

Download

You can download this project in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://github.com/pedlefsen/HMMoC-BFloat-Algebra