Fixes, and new rank/select ds
authorfclaude <fclaude@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Sat, 21 Mar 2009 17:15:53 +0000 (17:15 +0000)
committerfclaude <fclaude@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Sat, 21 Mar 2009 17:15:53 +0000 (17:15 +0000)
git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@261 3cdefd35-fc62-479d-8e8d-bae585ffb9ca

XMLTree.cpp
libcds/src/coders/huffman_codes.cpp
libcds/tests/text_to_int.cpp

index 9057e31..2a1ca71 100644 (file)
@@ -1053,11 +1053,12 @@ int XMLTree::CloseDocument()
     //static_bitsequence_builder * bmb = new static_bitsequence_builder_brw32(20);\r
     //static_permutation_builder * pmb = new static_permutation_builder_mrrr(PERM_SAMPLE, bmb);\r
     //static_sequence_builder * ssb = new static_sequence_builder_gmr_chunk(bmb, pmb);\r
-               static_bitsequence_builder * bmb = new static_bitsequence_builder_brw32(20);\r
+               static_bitsequence_builder * bmb = new static_bitsequence_builder_sdarray();\r
                alphabet_mapper *am = new alphabet_mapper_none();\r
-               wt_coder * wc = new wt_coder_huff((uint*)tags_aux,npar,am);\r
-               Tags = new static_sequence_wvtree((uint*)tags_aux,npar,wc ,bmb, am);\r
+               //wt_coder * wc = new wt_coder_huff((uint*)tags_aux,npar,am);\r
+               //Tags = new static_sequence_wvtree((uint*)tags_aux,npar,wc ,bmb, am);\r
     //Tags = new static_sequence_gmr((uint *) tags_aux, (uint) npar,ntagsize, bmb, ssb);\r
+               Tags = new static_sequence_bs((uint*)tags_aux,npar,am,bmb);\r
                \r
                cout << "Tags test: " << Tags->test((uint*)tags_aux,npar) << endl;\r
 \r
index a3ccf1a..e603133 100644 (file)
@@ -39,7 +39,7 @@ huffman_codes::huffman_codes(uchar * symb, uint n) {
   for(uint i=0;i<n;i++)
     max_v = max(max_v,symb[i]);
   uint * occ = new uint[max_v+1];
-  for(uint i=0;i<max_v+1;i++)
+  for(uint i=0;i<(uint)max_v+1;i++)
     occ[i] = 0;
   for(uint i=0;i<n;i++)
     occ[symb[i]]++;
index 200fbdf..74f676d 100644 (file)
@@ -54,7 +54,7 @@ int main(int argc, char ** argv) {
 
   for(uint i=0;i<n;i++) {
     uchar c;
-    fread(&c,sizeof(uchar),1,fp);
+    text[i] = fread(&c,sizeof(uchar),1,fp);
     text[i] = (uint)c;
   }
        fclose(fp);
@@ -65,7 +65,7 @@ int main(int argc, char ** argv) {
     return 1;
   }
   
-  fwrite(text,sizeof(uint),n,out);
+  n = fwrite(text,sizeof(uint),n,out);
   fclose(out);
   
   delete [] text;