X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Ftests%2Fstatic_sequence_bs_test.cpp;fp=libcds%2Ftests%2Fstatic_sequence_bs_test.cpp;h=ffe2e76e3d541c2527f0b1c9ae9d8dd9310029f8;hb=bbeeb03980ddf51c0f32fd3c42321dc9ef708c27;hp=0000000000000000000000000000000000000000;hpb=6a9117a97674437c9fe00b099c40ccb61d45d704;p=SXSI%2FXMLTree.git diff --git a/libcds/tests/static_sequence_bs_test.cpp b/libcds/tests/static_sequence_bs_test.cpp new file mode 100644 index 0000000..ffe2e76 --- /dev/null +++ b/libcds/tests/static_sequence_bs_test.cpp @@ -0,0 +1,76 @@ +/* static_sequence_wvtree_test.cpp + * Copyright (C) 2008, Francisco Claude, all rights reserved. + * + * static_sequence_wvtree_test + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "static_sequence_tester.h" + +int main(int argc, char ** argv) { + if(argc!=5) { + cout << "Usage: " << argv[0] << " " << endl; + return 0; + } + stringstream ss; + ss << argv[3]; + uint samp; + ss >> samp; + + uint * text; + uint n; + load(argv[1],&text,&n); + + alphabet_mapper * am = new alphabet_mapper_none(); + + static_bitsequence_builder * bmb; + if(string(argv[2])==string("b")) + bmb = new static_bitsequence_builder_brw32(samp); + else if(string(argv[2])==string("s")) + bmb = new static_bitsequence_builder_sdarray(); + else + bmb = new static_bitsequence_builder_rrr02(samp); + + static_sequence * sseq = new static_sequence_bs(text,n,am,bmb); + delete bmb; + //am->unuse(); + + sseq = savetest(argv[1], sseq); + if(string(argv[4])==string("t")) + test_static_sequence(text,n,sseq); + else + cout << "Size: " << sseq->size() << endl; + cout << "*************************************" << endl; + speed_access(sseq,text,n); + cout << "*************************************" << endl; + speed_rank(sseq,text,n); + cout << "*************************************" << endl; + speed_select(sseq,text,n); + + delete sseq; + delete [] text; +} +