36 #ifndef ALGO_BLAST_CORE__NCBI_STD
37 #define ALGO_BLAST_CORE__NCBI_STD
58 #if defined(__ICC) || defined(__ECC)
59 #define NCBI_RESTRICT __restrict
60 #elif __STDC_VERSION__ >= 199901 && (!defined(__IBMC__) || defined(__C99_RESTRICT))
61 #define NCBI_RESTRICT restrict
68 #if defined(__cplusplus) || __STDC_VERSION__ >= 199901
70 #define NCBI_INLINE inline
71 #elif defined(__GNUC__)
74 #define NCBI_INLINE __inline__
75 #elif defined(_MSC_VER) || defined(__sgi) || defined(HPUX)
77 #define NCBI_INLINE __inline
81 #define NCBI_INLINE inline
85 #define strcasecmp _stricmp
86 #define strdup _strdup
88 #define snprintf _snprintf
107 #define ASSERT assert
112 #define MIN(a,b) ((a)>(b)?(b):(a))
117 #define MAX(a,b) ((a)>=(b)?(a):(b))
122 #define ABS(a) ((a)>=0?(a):-(a))
127 #define SIGN(a) ((a)>0?1:((a)<0?-1:0))
136 #define UINT4_MAX 4294967295U
141 #define INT4_MAX 2147483647
146 #define INT4_MIN (-2147483647-1)
151 #define NCBIMATH_LN2 0.69314718055994530941723212145818
156 #define INT2_MAX 32767
161 #define INT2_MIN (-32768)
171 #define INT1_MIN (-128)
176 #define DIM(A) (sizeof(A)/sizeof((A)[0]))
187 #ifndef NCBI_CONST_INT8
189 # define NCBI_CONST_INT8(v) INT64_C(v)
190 # define NCBI_CONST_UINT8(v) UINT64_C(v)
191 # elif defined(_MSC_VER)
192 # define NCBI_CONST_INT8(v) v##i64
193 # define NCBI_CONST_UINT8(v) v##ui64
195 # define NCBI_CONST_INT8(v) v##LL
196 # define NCBI_CONST_UINT8(v) v##ULL
Defines to provide correct exporting from BLAST DLL in Windows.
#define NCBI_XBLAST_EXPORT
NULL operations for other cases.
static const char * str(char *buf, int n)
uint8_t Uint1
1-byte (8-bit) unsigned integer
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
ListNode * ListNodeNew(ListNode *vnp)
Create a new list node.
ListNode * ListNodeCopyStr(ListNode **head, Uint1 choice, const char *str)
Add a node to the list with a provided choice, and attached data pointing to a provided string.
struct ListNode ListNode
A generic linked list node structure.
ListNode * ListNodeAdd(ListNode **head)
Add a node to the list.
void * BlastMemDup(const void *orig, size_t size)
Copies memory using memcpy and malloc.
Uint1 Boolean
bool replacment for C
ListNode * ListNodeAddPointer(ListNode **head, Uint1 choice, void *value)
Add a node to the list with a given choice and data pointer.
ListNode * ListNodeFreeData(ListNode *vnp)
Free nodes as well as data (vnp->ptr) assuming it is one contiguous chunk.
ListNode * ListNodeFree(ListNode *vnp)
Free all list's nodes, does not attempt to free data.
A generic linked list node structure.
struct ListNode * next
next in linked list
Uint1 choice
to pick a choice