NCBI C++ ToolKit
seq_masker_score_min.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: seq_masker_score_min.cpp 33815 2007-05-04 17:18:18Z kazimird $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: Aleksandr Morgulis
27  *
28  * File Description:
29  * CSeqMaskerScoreMin class member and method definitions.
30  *
31  */
32 
33 #include <ncbi_pch.hpp>
34 #include <corelib/ncbi_limits.h>
35 
38 
40 
41 //-------------------------------------------------------------------------
43 {
44  list< Uint4 > stats;
45  Uint4 num = window->NumUnits();
46 
47  for( Uint1 i = 0; i < num; ++i )
48  {
49  Uint4 result = (*ustat)[(*window)[i]];
50  list< Uint4 >::iterator j = stats.begin();
51 
52  while( j != stats.end() && result > *j ) ++j;
53 
54  stats.insert( j, result );
55 
56  if( stats.size() > num - count + 1 ) stats.pop_back();
57  }
58 
59  return stats.back();
60 }
61 
62 
virtual Uint4 operator()()
Access the current score.
const CSeqMaskerWindow * window
Points to the window information object.
Uint1 NumUnits() const
Get the number of units in a window.
uint8_t Uint1
1-byte (8-bit) unsigned integer
Definition: ncbitype.h:99
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
int i
else result
Definition: token2.c:20
Modified on Fri Sep 20 14:58:33 2024 by modify_doxy.py rev. 669887