#include <fibonacci.h>
Static Public Methods | |
unsigned long | encode (unsigned long number) |
Encode number to Fibonacci code. More... | |
unsigned long | decode (unsigned long code) |
Decode number from Fibonacci code. More... | |
size_t | encodeToBuffer (void *buffer, size_t itemSize, unsigned long number) |
Encode number to given buffer. More... | |
size_t | decodeFromBuffer (void *buffer, size_t itemSize, size_t *nrItems) |
Decode given Fibonacci buffer. More... |
This class provides some basic functionality for manipulating with order 2 Fibonacci numbers. It can encode and decode integers (greater than 0). In addition, it is capable of encoding numbers into data buffer, and also decoding this buffers.
Definition at line 48 of file fibonacci.h.
|
Decode number from Fibonacci code. Reconstructs a number from given Fibonacci code. The code must be reversed.
Definition at line 115 of file fibonacci.cpp. References Order2FibonacciNumbers_. Referenced by XmlCodec::decode, decodeFromBuffer, XmlSimpleModel::receiveData, and XmlAdaptiveModel::receiveData. |
|
Decode given Fibonacci buffer. Decodes Fibonacci buffer and returns the decoded number.
Definition at line 229 of file fibonacci.cpp. References decode. |
|
Encode number to Fibonacci code. Constructs a Fibonacci code for given number. The code is stored reversely (eg. as 11000 instead of 00011) which allows easier manipulation using shifts.
Definition at line 75 of file fibonacci.cpp. References NUMBER_OF_ORDER2_FIBS, and Order2FibonacciNumbers_. Referenced by encodeToBuffer. |
|
Encode number to given buffer. Constructs Fibonacci code for given number and stores it in the buffer. The itemSize parameter indicates the size of one buffer item in bytes (or more precisely, in chars).
Definition at line 160 of file fibonacci.cpp. References encode. Referenced by XmlSimpleModel::manageEvent, XmlAdaptiveModel::manageEvent, and KYGrammar::setAlphabetBaseSize. |