Project Structure
An overview of the project structure.
include
The include folder contains the header files.
They are completely independent and can be used by simply downloading and including them.
file farray1.hpp:
namespace Farray1Direct
- 1-extra-bit implementation of fill, read, write, writtenSize, begin/end, and an interiornamespace defines
for the interior functions.class Farray1
- The wrapper for the 1-extra-bit functions (proxy operator[], operator=, iterator, no need for A,n,flag each call).
file farray.hpp:
- Not Implemented yet -
class Farray
- The implementation of the log(n) bits (b and def outside), with the Farray1 features ([], =, iterator, …).
file nfarray.hpp:
- Not Implemented yet -
class NFarray : public Farray
- extendsFarray
with numerical features:
++,–,+=,-=,*=,/=, (for proxy, and for the whole Array), and maintaining the sum of all vars. All the operations are still O(1).
docs
The docs folder contains the project’s GitHub-Pages Site files.
tests
The tests folder contains random-tests for the different header files.
timings
The timings folder contains c++ programs for measuring times and time-improvements of the header-files over an original array.