00001 /******************************************************************************* 00002 * $Id: RepeatHash.h,v 1.8 2004/03/01 02:40:08 darling Exp $ 00003 * This file is copyright 2002-2007 Aaron Darling and authors listed in the AUTHORS file. 00004 * This file is licensed under the GPL. 00005 * Please see the file called COPYING for licensing details. 00006 * ************** 00007 ******************************************************************************/ 00008 00009 #ifndef _RepeatHash_h_ 00010 #define _RepeatHash_h_ 00011 00012 #ifdef HAVE_CONFIG_H 00013 #include "config.h" 00014 #endif 00015 00016 #include "libMems/MemHash.h" 00017 00018 namespace mems { 00019 00025 class RepeatHash : public MemHash{ 00026 public: 00027 virtual RepeatHash* Clone() const; 00028 virtual boolean CreateMatches(); 00029 protected: 00030 00031 virtual boolean EnumerateMatches( IdmerList& match_list ); 00032 virtual boolean HashMatch(IdmerList& match_list); 00033 virtual SortedMerList* GetSar(uint32 sarI) const; 00034 }; 00035 00036 00037 inline 00038 SortedMerList* RepeatHash::GetSar(uint32 sarI) const{ 00039 return sar_table[0]; 00040 } 00041 00042 inline 00043 bool idmer_greaterthan(idmer& a_v, idmer& m_v){ 00044 return (a_v.mer < m_v.mer);// ? true : false; 00045 }; 00046 00047 inline 00048 bool idmer_position_lessthan(idmer& a_v, idmer& m_v){ 00049 return (a_v.position < m_v.position);// ? true : false; 00050 }; 00051 00052 } 00053 00054 #endif //_RepeatHash_h_
1.3.6