1 release (0 unstable)

1.2.1-preview Aug 7, 2024

#1090 in Algorithms

MIT license

240KB
5K SLoC

C 3K SLoC // 0.3% comments Rust 1.5K SLoC // 0.0% comments Python 134 SLoC // 0.2% comments C++ 99 SLoC // 0.3% comments Scheme 10 SLoC // 0.4% comments Shell 6 SLoC // 0.5% comments

This module contains bindings for the alignment algorithms used in biodiff. The main interface are the methods of the AlignAlgorithm struct.

If handling of selections and semiglobal alignment is needed, the AlignInfo struct should be used.

Before running the alignment, the parameters should be checked with the AlignAlgorithm::check_parameters or AlignInfo::check_parameters methods.

Most methods are meant for a gradual alignment of files, but the AlignAlgorithm::align_whole method is the simplest interface and can be used to align two files as a whole synchronously.

The gradual alignment first sends an AlignedMessage::Initial message with the initial block of bytes, then sends AlignedMessage::Append and AlignedMessage::Prepend messages with the rest of the bytes.

Dependencies

~18MB
~305K SLoC