X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fstatic_sequence_wvtree_noptrs.h;h=399f3c24294660063fb20963c66e3e251fc76697;hb=5489b44ed5656cad39498675305ea9f2bd49dd07;hp=3f7a977f44f7cdbe05d0c904c416c87569158b05;hpb=b5efc7c4db3195fdbee1e63ae477d95d41a94752;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_sequence/static_sequence_wvtree_noptrs.h b/libcds/src/static_sequence/static_sequence_wvtree_noptrs.h index 3f7a977..399f3c2 100644 --- a/libcds/src/static_sequence/static_sequence_wvtree_noptrs.h +++ b/libcds/src/static_sequence/static_sequence_wvtree_noptrs.h @@ -40,6 +40,9 @@ class static_sequence_wvtree_noptrs : public static_sequence { * equals n and uses bmb to build the bitsequence */ static_sequence_wvtree_noptrs(uint * symbols, uint n, static_bitsequence_builder * bmb, alphabet_mapper * am, bool deleteSymbols = false); + // symbols is an array of elements of "width" bits. + static_sequence_wvtree_noptrs(uint * symbols, uint n, unsigned width, static_bitsequence_builder * bmb, alphabet_mapper * am, bool deleteSymbols = false); + /** Destroys the Wavelet Tree */ virtual ~static_sequence_wvtree_noptrs(); @@ -75,6 +78,7 @@ class static_sequence_wvtree_noptrs : public static_sequence { /** Obtains the maximum value from the string * symbols of length n */ uint max_value(uint * symbols, uint n); + uint max_value(uint * symbols, unsigned width, uint n); /** How many bits are needed to represent val */ uint bits(uint val); @@ -88,5 +92,6 @@ class static_sequence_wvtree_noptrs : public static_sequence { /** Recursive function for building the Wavelet Tree. */ void build_level(uint **bm, uint *symbols, uint level, uint length, uint offset); + void build_level(uint **bm, uint *symbols, unsigned width, uint level, uint length, uint offset); }; #endif