Skip to content

Commit b02abfa

Browse files
committed
partial build:
only int_vectors
1 parent a6c4eae commit b02abfa

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

.circleci/__init__.cpp

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
#define NOCROSSCONSTRUCTORS
2+
3+
4+
#include <cstdint>
5+
#include <string>
6+
#include <tuple>
7+
#include <stdexcept>
8+
9+
#define assert(x) if(!x) {throw std::runtime_error("assertion failed");}
10+
11+
#include <sdsl/vectors.hpp>
12+
13+
#include <pybind11/pybind11.h>
14+
15+
#include "docstrings.hpp"
16+
#include "operations/creation.hpp"
17+
#include "types/bitvector.hpp"
18+
#include "types/encodedvector.hpp"
19+
#include "types/intvector.hpp"
20+
#include "types/suffixarray.hpp"
21+
#include "types/wavelet.hpp"
22+
23+
namespace py = pybind11;
24+
25+
26+
PYBIND11_MODULE(pysdsl, m)
27+
{
28+
m.doc() = "sdsl-lite bindings for python";
29+
30+
auto iv_classes = add_int_vectors(m);
31+
32+
py::class_<sdsl::int_vector<1>>& bit_vector_cls = std::get<1>(iv_classes);
33+
34+
auto bit_vector_classes = std::make_tuple(bit_vector_cls);
35+
36+
// auto tmp = add_bitvectors(m, bit_vector_cls);
37+
// auto compressed_bit_vector_classes = std::get<0>(tmp);
38+
// auto cbv_propagate = std::get<1>(tmp);
39+
40+
// auto enc_classes = add_encoded_vectors(m);
41+
42+
// auto wavelet_classes = add_wavelet(m, cbv_propagate);
43+
44+
// auto csa_classes = add_csa(m);
45+
46+
for_each_in_tuple(iv_classes, make_inits_many_functor(iv_classes));
47+
// for_each_in_tuple(iv_classes, make_inits_many_functor(enc_classes));
48+
// for_each_in_tuple(iv_classes,
49+
// make_inits_many_functor(compressed_bit_vector_classes));
50+
// for_each_in_tuple(iv_classes, make_inits_many_functor(wavelet_classes));
51+
52+
// for_each_in_tuple(enc_classes, make_inits_many_functor(iv_classes));
53+
// #ifndef NOCROSSCONSTRUCTORS
54+
// for_each_in_tuple(enc_classes, make_inits_many_functor(enc_classes));
55+
//for_each_in_tuple(enc_classes, make_inits_many_functor(wavelet_classes));
56+
// #endif
57+
58+
// for_each_in_tuple(compressed_bit_vector_classes,
59+
// make_inits_many_functor(bit_vector_classes));
60+
// #ifndef NOCROSSCONSTRUCTORS
61+
// for_each_in_tuple(compressed_bit_vector_classes, make_inits_many_functor(compressed_bit_vector_classes));
62+
// #endif
63+
64+
// for_each_in_tuple(wavelet_classes, make_inits_many_functor(iv_classes));
65+
// #ifndef NOCROSSCONSTRUCTORS
66+
// for_each_in_tuple(wavelet_classes, make_inits_many_functor(enc_classes));
67+
// for_each_in_tuple(wavelet_classes,
68+
// make_inits_many_functor(wavelet_classes));
69+
// #endif
70+
71+
for_each_in_tuple(iv_classes, make_pysequence_init_functor());
72+
// for_each_in_tuple(enc_classes, make_pysequence_init_functor());
73+
//for_each_in_tuple(compressed_bit_vector_classes,
74+
// make_pysequence_init_functor());
75+
76+
// for_each_in_tuple(wavelet_classes, make_pysequence_init_functor());
77+
// for_each_in_tuple(csa_classes, make_pysequence_init_functor());
78+
}

0 commit comments

Comments
 (0)