54#ifndef INCHI_US_SHORT_DEF
57#define INCHI_US_SHORT_DEF
70#define NEIGH_LIST_LEN 4
73#ifndef defined_NEIGH_LIST
75#define defined_NEIGH_LIST
87#define MOL_PART_MASK (~0x0U ^ 0x07U)
104#if ( HYDROGENS_IN_INIT_RANKS == 1 )
111#if ( USE_DISTANCES_FOR_RANKING == 1 )
324#if ( bRELEASE_VERSION == 0 )
352void inchi_qsort(
void *pParam,
void *base,
size_t num,
size_t width,
int( *comp )(
const void *,
const void *,
void * ) );
391#if ( USE_ISO_SORT_KEY_HFIXED == 1 )
393 int len_iso_sort_key_Hfixed;
394 int maxlen_iso_sort_key_Hfixed;
long AT_ISO_SORT_KEY
Definition extr_ct.h:69
U_SHORT bitWord
Definition ichi_bns.h:377
struct tagEQUIV_INFO EQUIV_INFO
struct tagCurTree CUR_TREE
tagAtInvariantIndexes
Definition ichicant.h:122
@ AT_INV_NUM_H_FIX
Definition ichicant.h:129
@ AT_INV_HILL_ORDER
Definition ichicant.h:123
@ AT_INV_TG_NUMBERS
Definition ichicant.h:128
@ AT_INV_TAUT_ISO
Definition ichicant.h:132
@ AT_INV_BREAK1
Definition ichicant.h:130
@ AT_INV_LENGTH
Definition ichicant.h:133
@ AT_INV_NUM_H
Definition ichicant.h:125
@ AT_INV_NUM_CONNECTIONS
Definition ichicant.h:124
@ AT_INV_NUM_TG_ENDPOINTS
Definition ichicant.h:127
AT_RANK * NEIGH_LIST
Definition ichicant.h:74
struct tagCanonData CANON_DATA
struct tagFixHOrTautCanonNumbering FTCN
struct tagCanonStat CANON_STAT
struct tagPartition Partition
struct tagAtomInvariant2 ATOM_INVARIANT2
struct tagCANON_GLOBALS CANON_GLOBALS
struct tagBaseCanonNumbering BCN
union tagSplitLong SU_LONG
struct tagAtData_dch AT_DATA
void inchi_qsort(void *pParam, void *base, size_t num, size_t width, int(*comp)(const void *, const void *, void *))
Definition ichisort.c:66
struct tagCanonCounts CANON_COUNTS
struct tagAtomInvariantBytes ATOM_INVARIANT_BYTES
enum tagAtInvariantIndexes AT_INV_INDEXES
struct tagAtomInvariant ATOM_INVARIANT
int SetBitCreate(struct tagCANON_GLOBALS *pCG)
Definition ichican2.c:3205
unsigned short AT_NUMB
Definition ichisize.h:45
unsigned short AT_RANK
Definition ichisize.h:46
signed short NUM_H
Definition ichisize.h:49
unsigned long INCHI_MODE
Definition ichisize.h:60
#define T_NUM_NO_ISOTOPIC
Definition ichitaut.h:104
#define T_NUM_ISOTOPIC
Definition ichitaut.h:105
AT_NUMB AT_TAUTOMER
Definition ichitaut.h:109
signed char S_CHAR
Definition inchi_api.h:113
unsigned short U_SHORT
Definition inchi_api.h:120
signed short S_SHORT
Definition inchi_api.h:119
#define TAUT_NUM
Definition mode.h:593
char element[3]
Definition ichicant.h:90
int valence
Definition ichicant.h:91
Definition ichicant.h:136
AT_NUMB val[AT_INV_LENGTH]
Definition ichicant.h:137
AT_ISO_SORT_KEY iso_sort_key
Definition ichicant.h:138
S_CHAR iso_aux_key
Definition ichicant.h:139
S_CHAR cNumberOfAttachedHydrogens
Definition ichicant.h:105
S_CHAR cNumberOfConnections
Definition ichicant.h:101
S_CHAR cNotExactlyHillOrderNumber
Definition ichicant.h:100
S_CHAR cAtomicNumber
Definition ichicant.h:103
Definition ichicant.h:109
AT_RANK cNum_tautomer_num[T_NUM_NO_ISOTOPIC]
Definition ichicant.h:116
ATOM_INVARIANT_BYTES b
Definition ichicant.h:114
AT_ISO_SORT_KEY iso_sort_key
Definition ichicant.h:118
AT_RANK cNum_tautomer_iso[T_NUM_ISOTOPIC]
Definition ichicant.h:119
AT_RANK cNum_tautomer
Definition ichicant.h:115
Definition ichicant.h:189
int num_max
Definition ichicant.h:193
AT_RANK ** pRankStack
Definition ichicant.h:191
int nMaxLenRankStack
Definition ichicant.h:192
FTCN ftcn[TAUT_NUM]
Definition ichicant.h:197
struct tagInchiTime * ulTimeOutTime
Definition ichicant.h:196
int num_atoms
Definition ichicant.h:195
int num_at_tg
Definition ichicant.h:194
Definition ichicant.h:338
const AT_NUMB * m_pNeighborsForSort
Definition ichicant.h:341
const ATOM_INVARIANT2 * m_pAtomInvariant2ForSort
Definition ichicant.h:340
bitWord * m_bBit
Definition ichicant.h:345
int m_nNumCompNeighborsRanksCountEql
Definition ichicant.h:344
int m_bBitInitialized
Definition ichicant.h:346
const NEIGH_LIST * m_pNeighList_RankForSort
Definition ichicant.h:339
const AT_RANK * m_pn_RankForSort
Definition ichicant.h:342
int m_num_bit
Definition ichicant.h:347
AT_RANK m_nMaxAtNeighRankForSort
Definition ichicant.h:343
Definition ichicant.h:404
long lNumEqualCT
Definition ichicant.h:408
long lNumTotCT
Definition ichicant.h:409
long lNumGenerators
Definition ichicant.h:411
double dGroupSize
Definition ichicant.h:410
long lNumRejectedCT
Definition ichicant.h:407
long lNumBreakTies
Definition ichicant.h:405
long lNumStoredIsomorphisms
Definition ichicant.h:412
long lNumDecreasedCT
Definition ichicant.h:406
Definition ichicant.h:359
AT_NUMB * LinearCT
Definition ichicant.h:363
int maxlenNumHfixed
Definition ichicant.h:379
S_CHAR * iso_exchg_atnos
Definition ichicant.h:386
int maxlenNumH
Definition ichicant.h:373
int maxlen_iso_exchg_atnos
Definition ichicant.h:388
int len_iso_sort_key
Definition ichicant.h:384
AT_ISO_SORT_KEY * iso_sort_key
Definition ichicant.h:383
int nMaxLenLinearCT
Definition ichicant.h:365
NUM_H * NumHfixed
Definition ichicant.h:377
int nCanonFlags
Definition ichicant.h:368
int lenNumH
Definition ichicant.h:372
int lenNumHfixed
Definition ichicant.h:378
int len_iso_exchg_atnos
Definition ichicant.h:387
int maxlen_iso_sort_key
Definition ichicant.h:385
NUM_H * NumH
Definition ichicant.h:371
int nLenCTAtOnly
Definition ichicant.h:367
struct tagInchiTime * ulTimeOutTime
Definition ichicant.h:400
AT_RANK * nAuxRank
Definition ichicant.h:398
int nLenLinearCT
Definition ichicant.h:366
Definition ichicant.h:204
int bCmpIsotopicStereo
Definition ichicant.h:269
int nMaxLenLinearCTIsotopicStereoCarb
Definition ichicant.h:280
NEIGH_LIST * NeighList
Definition ichicant.h:327
AT_RANK * nCanonOrdIsotopicStereoInv
Definition ichicant.h:303
AT_RANK * nPrevAtomNumber
Definition ichicant.h:286
int nMaxLenLinearCTIsotopicTautomer
Definition ichicant.h:258
AT_RANK * nSymmRankIsotopicTaut
Definition ichicant.h:299
AT_NUMB * LinearCT
Definition ichicant.h:224
AT_RANK * nCanonOrd
Definition ichicant.h:288
int nLenCanonOrdIsotopic
Definition ichicant.h:310
int bCmpStereo
Definition ichicant.h:245
int nLenLinearCT
Definition ichicant.h:260
AT_RANK * nCanonOrdIsotopicStereoTaut
Definition ichicant.h:304
int nMaxLenLinearCTTautomer
Definition ichicant.h:267
int nMaxLenLinearCTIsotopicStereoDble
Definition ichicant.h:276
long lNumRejectedCT
Definition ichicant.h:210
int nCanonFlags
Definition ichicant.h:220
AT_TAUTOMER * LinearCTTautomer
Definition ichicant.h:235
int nLenCanonOrdStereo
Definition ichicant.h:312
int nLenCanonOrdStereoTaut
Definition ichicant.h:313
T_GROUP_INFO * t_group_info
Definition ichicant.h:320
int bDoubleBondSquare
Definition ichicant.h:322
int nLenCanonOrdIsotopicStereo
Definition ichicant.h:314
AT_STEREO_DBLE * LinearCTIsotopicStereoDble
Definition ichicant.h:231
AT_RANK * nCanonOrdStereoInv
Definition ichicant.h:294
AT_RANK * nCanonOrdIsotopicTaut
Definition ichicant.h:300
INCHI_MODE nMode
Definition ichicant.h:323
int nLenLinearCTIsotopicTautomer
Definition ichicant.h:257
int nLenLinearCTAtOnly
Definition ichicant.h:262
AT_RANK * nSymmRank
Definition ichicant.h:289
int bIgnoreIsotopic
Definition ichicant.h:321
S_CHAR * nNum_H
Definition ichicant.h:329
int nLenLinearCTIsotopic
Definition ichicant.h:254
BCN * pBCN
Definition ichicant.h:328
AT_STEREO_DBLE * LinearCTIsotopicStereoDbleInv
Definition ichicant.h:233
int nLenLinearCTIsotopicStereoCarbInv
Definition ichicant.h:279
long lNumEqualCT
Definition ichicant.h:211
int bStereoIsBetter
Definition ichicant.h:218
AT_RANK * nCanonOrdTaut
Definition ichicant.h:290
int nLenLinearCTStereoDble
Definition ichicant.h:241
S_CHAR * bAtomUsedForStereo
Definition ichicant.h:282
int nLenLinearCTIsotopicStereoDbleInv
Definition ichicant.h:275
AT_STEREO_DBLE * LinearCTStereoDbleInv
Definition ichicant.h:229
AT_STEREO_CARB * LinearCTStereoCarbInv
Definition ichicant.h:230
AT_RANK * nSymmRankIsotopic
Definition ichicant.h:297
int nMaxLenLinearCT
Definition ichicant.h:264
AT_RANK * nSymmRankTaut
Definition ichicant.h:291
long lNumBreakTies
Definition ichicant.h:206
int nLenLinearCTAtOnly2
Definition ichicant.h:263
AT_NUMB * LinearCT2
Definition ichicant.h:239
int nLenLinearCTTautomer
Definition ichicant.h:266
AT_STEREO_CARB * LinearCTIsotopicStereoCarb
Definition ichicant.h:232
S_CHAR * bRankUsedForStereo
Definition ichicant.h:281
AT_RANK * nCanonOrdIsotopicStereo
Definition ichicant.h:302
int bKeepSymmRank
Definition ichicant.h:217
struct tagInchiTime * ulTimeOutTime
Definition ichicant.h:212
int nLenCanonOrdIsotopicStereoTaut
Definition ichicant.h:315
int nLenCanonOrdTaut
Definition ichicant.h:309
AT_ISOTOPIC * LinearCTIsotopic
Definition ichicant.h:225
int nLenLinearCTIsotopicStereoCarb
Definition ichicant.h:278
int nMaxLenLinearCTIsotopic
Definition ichicant.h:255
int nMaxLenLinearCTStereoCarb
Definition ichicant.h:252
AT_STEREO_CARB * LinearCTIsotopicStereoCarbInv
Definition ichicant.h:234
AT_STEREO_DBLE * LinearCTStereoDble
Definition ichicant.h:227
int nLenLinearCT2
Definition ichicant.h:261
S_CHAR * nExchgIsoH
Definition ichicant.h:331
AT_ISO_TGROUP * LinearCTIsotopicTautomer
Definition ichicant.h:226
int nLenCanonOrdIsotopicTaut
Definition ichicant.h:311
int nMaxLenLinearCTStereoDble
Definition ichicant.h:243
S_CHAR * nNum_H_fixed
Definition ichicant.h:330
long lNumDecreasedCT
Definition ichicant.h:209
int nLenCanonOrd
Definition ichicant.h:308
AT_STEREO_CARB * LinearCTStereoCarb
Definition ichicant.h:228
int bFirstCT
Definition ichicant.h:216
long lNumNeighListIter
Definition ichicant.h:207
AT_RANK * nCanonOrdStereo
Definition ichicant.h:293
int nLenLinearCTStereoCarbInv
Definition ichicant.h:251
AT_RANK * nCanonOrdStereoTaut
Definition ichicant.h:295
long lTotalTime
Definition ichicant.h:213
long lNumTotCT
Definition ichicant.h:208
int nLenLinearCTStereoCarb
Definition ichicant.h:250
int bHasIsotopicInTautomerGroups
Definition ichicant.h:319
int nLenLinearCTIsotopicStereoDble
Definition ichicant.h:274
int nLenLinearCTStereoDbleInv
Definition ichicant.h:242
AT_RANK * nCanonOrdIsotopic
Definition ichicant.h:298
Definition ichicant.h:424
AT_NUMB * tree
Definition ichicant.h:425
int max_len
Definition ichicant.h:426
int incr_len
Definition ichicant.h:428
int cur_len
Definition ichicant.h:427
int * nAtomNo
Definition ichicant.h:83
int * nAddToRank
Definition ichicant.h:84
int nNumSets
Definition ichicant.h:79
int * nCutVertexAtom
Definition ichicant.h:80
int * nNumInSet
Definition ichicant.h:82
int * nFirstInSet
Definition ichicant.h:81
Definition ichicant.h:149
AT_RANK * LinearCt
Definition ichicant.h:158
int nLenLinearCtAtOnly
Definition ichicant.h:159
int nCanonFlags
Definition ichicant.h:153
int num_atoms
Definition ichicant.h:152
Partition PartitionCtIso
Definition ichicant.h:179
Partition PartitionCt
Definition ichicant.h:163
NUM_H * nNumHOrig
Definition ichicant.h:167
int len_iso_sort_keys
Definition ichicant.h:183
AT_ISO_SORT_KEY * iso_sort_keysOrig
Definition ichicant.h:182
S_CHAR * iso_exchg_atnosOrig
Definition ichicant.h:185
NEIGH_LIST * NeighList
Definition ichicant.h:154
S_CHAR * iso_exchg_atnos
Definition ichicant.h:184
int num_at_tg
Definition ichicant.h:151
NUM_H * nNumHFixH
Definition ichicant.h:173
AT_ISO_SORT_KEY * iso_sort_keys
Definition ichicant.h:181
int nLenLinearCt
Definition ichicant.h:160
AT_RANK * nSymmRankCt
Definition ichicant.h:164
AT_RANK * nSymmRankCtIso
Definition ichicant.h:180
int nLenNumH
Definition ichicant.h:169
int nMaxLenLinearCt
Definition ichicant.h:161
NUM_H * nNumH
Definition ichicant.h:168
int nLenNumHFixH
Definition ichicant.h:174
NUM_H * nNumHOrigFixH
Definition ichicant.h:172
Definition ichitaut.h:121
Definition ichicant.h:143
AT_NUMB * AtNumber
Definition ichicant.h:145
AT_RANK * Rank
Definition ichicant.h:144
Definition ichitaut.h:222