gatb.core-API-0.0.0
|
Large integer class. More...
#include <LargeInt.hpp>
Large integer class.
The LargeInt class provides methods for integer calculus. It has a template parameter 'precision' giving the number of bits used the integer representation. For instance:
This template class has a specialization for precision=1. In this case, native 64 bits integers are used.
This template class may have a specialization for precision=2. If the used operating system allows it, native 128 bits integers are used.
In the other cases, the LargeInt provides a generic integer calculus class. Note that such an implementation could be optimized in several ways, including direct assembly code for maximum speed.
The LargeInt class is hugely used throughout the GATB project since it encodes kmers values.
The LargeInt class is mainly used with the IntegerTemplate class, where 4 specializations of LargeInt are used as template types of IntegerTemplate.