ViennaHRLE is a header-only C++ library for storing sparse spatial data efficiently. In the worst case, traversing the whole data structure is achieved in O(N), where N is the number of data points stored in the structure. Random access is achieved in O(log(N)).
For help with getting started, have a look at the examples.
Bug reports and suggestions should be filed on GitHub.
If you want to contribute to ViennaHRLE, make sure to follow the LLVM Coding guidelines. Before creating a pull request, make sure ALL files have been formatted by clang-format, which can be done using the format-project.sh script in the root directory.
Releases are tagged on the maser branch and available in the releases section.
- C++11 Compiler with OpenMP support
Since this is a header only project, it does not require any installation. However, we recommend the following procedure:
git clone https://github.com/ViennaTools/ViennaHRLE.git
cd ViennaHRLE
cmake -B build -DCMAKE_INSTALL_PREFIX=/path/to/your/custom/install/
cmake --build build
This will install the necessary headers and CMake files to the specified path. If -DCMAKE_INSTALL_PREFIX
is not specified, it will be installed to the standard path for your system, usually /usr/local
.
The examples can be built using CMake:
cmake -B build -DVIENNAHRLE_BUILD_EXAMPLES=ON
cmake --build build
We recommend using CPM.cmake to consume this library.
-
Installation with CPM
CPMAddPackage("gh:viennatools/viennahrle@0.4.0")
-
With a local installation
In case you have ViennaHRLE installed in a custom directory, make sure to properly specify the
CMAKE_MODULE_PATH
find_package(ViennaHRLE REQUIRED) target_link_libraries(${PROJECT_NAME} ViennaTools::ViennaHRLE)
Current contributors: Lado Filipovic, Paul Manstetten, Xaver Klemenschits and Josef Weinbub
Founder and initial developer: Otmar Ertl
Contact us via: viennats@iue.tuwien.ac.at
ViennaHRLE was developed under the aegis of the 'Institute for Microelectronics' at the 'TU Wien'. http://www.iue.tuwien.ac.at/
See file LICENSE in the base directory.