X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fwt_coder_binary.cpp;fp=libcds%2Fsrc%2Fstatic_sequence%2Fwt_coder_binary.cpp;h=0000000000000000000000000000000000000000;hb=58aa6c1117e13edd366329cdcac4ba7388faed95;hp=a49efc80fbba06e82fe351b9dc1aee65d853dd4d;hpb=a75155efc2ed07c1907ef017360bd719a47f9c06;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_sequence/wt_coder_binary.cpp b/libcds/src/static_sequence/wt_coder_binary.cpp deleted file mode 100644 index a49efc8..0000000 --- a/libcds/src/static_sequence/wt_coder_binary.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* wt_coder_binary.cpp - * Copyright (C) 2008, Francisco Claude, all rights reserved. - * - * wt_coder_binary definition - * - * 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 -using std::min; -using std::max; -wt_coder_binary::wt_coder_binary(uint * seq, uint n, alphabet_mapper * am) { - uint max_v = 0; - for(uint i=0;imap(seq[i]),max_v); - h=bits(max_v); -} - -wt_coder_binary::wt_coder_binary(uchar * seq, uint n, alphabet_mapper * am) { - uint max_v = 0; - for(uint i=0;imap((uint)seq[i]),max_v); - h=bits(max_v); -} - -wt_coder_binary::wt_coder_binary() {} - -wt_coder_binary::~wt_coder_binary() {} - -bool wt_coder_binary::is_set(uint symbol, uint l) { - if((1<<(h-l-1))&symbol) return true; - return false; -} - -bool wt_coder_binary::done(uint symbol, uint l) { - if(l==h) return true; - return false; -} - -uint wt_coder_binary::size() { - return sizeof(wt_coder_binary); -} - -uint wt_coder_binary::save(FILE *fp) { - uint wr = WT_CODER_BINARY_HDR; - wr = fwrite(&wr,sizeof(uint),1,fp); - wr += fwrite(&h,sizeof(uint),1,fp); - return wr-2; -} - -wt_coder_binary * wt_coder_binary::load(FILE *fp) { - uint rd; - if(fread(&rd,sizeof(uint),1,fp)!=1) return NULL; - if(rd!=WT_CODER_BINARY_HDR) return NULL; - wt_coder_binary * ret = new wt_coder_binary(); - if(fread(&ret->h,sizeof(uint),1,fp)!=1) { - delete ret; - return NULL; - } - return ret; -}