Giter Club home page Giter Club logo

succinct's Introduction

succinct

This library contains the implementation of some succinct data structures. It is rather undocumented now, but better documentation is under way. On the other hand, the code is quite extensively unit-tested.

The library is meant to be imported as a git submodule in other projects and then included as a CMake subdirectory. See the unit tests, and the semi_index and path_decomposed_tries projects for examples.

How to build the code

Dependencies

The following dependencies have to be installed to compile the library.

  • CMake >= 2.6, for the build system
  • Boost >= 1.42

Supported systems

The library is developed and tested mainly on Linux and Mac OS X, and it has been tested also on Windows 7.

The code is designed for 64-bit architectures. It has been tested on 32-bit Linux as well, but it is significantly slower. To compile the library on 32-bit architectures it is necessary to disable intrinsics support, passing -DSUCCINCT_USE_INTRINSICS=OFF to cmake.

Building on Unix

The project uses CMake. To build it on Unix systems it should be sufficient to do the following:

$ cmake .
$ make

It is also advised to perform a make test, which runs the unit tests.

Builing on Mac OS X

Same instructions for Unix apply, with one exception: the library must be compiled with the same standard library used to compile Boost. So, if libc++ was used with Clang, the following command must be used:

$ cmake . -DSUCCINCT_USE_LIBCXX=ON

Building on Windows

On Windows, Boost and zlib are not installed in default locations, so it is necessary to set some environment variables to allow the build system to find them.

  • For Boost BOOST_ROOT must be set to the directory which contains the boost include directory.
  • The directories that contain the Boost must be added to PATH so that the executables find them

Once the env variables are set, the quickest way to build the code is by using NMake (instead of the default Visual Studio). Run the following commands in a Visual Studio x64 Command Prompt:

$ cmake -G "NMake Makefiles" .
$ nmake
$ nmake test

succinct's People

Contributors

ot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.