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

Go to the SVN repository for this file.

1 /* $Id: Scaled_int_multi_data.cpp 66087 2015-01-29 19:26:03Z vasilche $
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: .......
27  *
28  * File Description:
29  * .......
30  *
31  * Remark:
32  * This code was originally generated by application DATATOOL
33  * using the following specifications:
34  * 'seqtable.asn'.
35  */
36 
37 // standard includes
38 #include <ncbi_pch.hpp>
39 
40 // generated includes
42 
44 
45 // generated classes
46 
48 
49 BEGIN_objects_SCOPE // namespace ncbi::objects::
50 
51 // destructor
53 {
54 }
55 
56 
58 {
59  if ( (IsSetMax() && GetMax() > kMax_Int) ||
60  (IsSetMin() && GetMin() < kMin_Int) ) {
61  return sizeof(Int8);
62  }
63  return sizeof(int);
64 }
65 
66 
67 bool CScaled_int_multi_data::TryGetInt4(size_t row, Int4& v) const
68 {
69  if ( !GetData().TryGetInt4(row, v) ) {
70  return false;
71  }
72  v = v*GetMul()+GetAdd();
73  return true;
74 }
75 
76 
77 bool CScaled_int_multi_data::TryGetInt8(size_t row, Int8& v) const
78 {
79  if ( !GetData().TryGetInt8(row, v) ) {
80  return false;
81  }
82  v = v*GetMul()+GetAdd();
83  return true;
84 }
85 
86 
87 END_objects_SCOPE // namespace ncbi::objects::
88 
User-defined methods of the data storage class.
User-defined methods of the data storage class.
bool TryGetInt4(size_t row, Int4 &v) const
bool TryGetInt8(size_t row, Int8 &v) const
#define kMin_Int
Definition: ncbi_limits.h:183
int32_t Int4
4-byte (32-bit) signed integer
Definition: ncbitype.h:102
#define kMax_Int
Definition: ncbi_limits.h:184
int64_t Int8
8-byte (64-bit) signed integer
Definition: ncbitype.h:104
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
TAdd GetAdd(void) const
Get the Add member data.
bool IsSetMax(void) const
Check if a value has been assigned to Max data member.
TMul GetMul(void) const
Get the Mul member data.
TMax GetMax(void) const
Get the Max member data.
bool IsSetMin(void) const
min/max scaled value should be set if scaled values may not fit in 32-bit signed integer Check if a v...
const TData & GetData(void) const
Get the Data member data.
TMin GetMin(void) const
Get the Min member data.
unsigned int
A callback function used to compare two keys in a database.
Definition: types.hpp:1210
Modified on Wed Mar 27 11:23:21 2024 by modify_doxy.py rev. 669887