19#ifndef INCHI_US_SHORT_DEF
22#define INCHI_US_SHORT_DEF
35#define NEIGH_LIST_LEN 4
38#ifndef defined_NEIGH_LIST
40#define defined_NEIGH_LIST
52#define MOL_PART_MASK (~0x0U ^ 0x07U)
69#if ( HYDROGENS_IN_INIT_RANKS == 1 )
76#if ( USE_DISTANCES_FOR_RANKING == 1 )
289#if ( bRELEASE_VERSION == 0 )
317void inchi_qsort(
void* pParam,
void* base,
size_t num,
size_t width,
int(*comp)(
const void*,
const void*,
void*));
356#if ( USE_ISO_SORT_KEY_HFIXED == 1 )
358 int len_iso_sort_key_Hfixed;
359 int maxlen_iso_sort_key_Hfixed;
long AT_ISO_SORT_KEY
Definition extr_ct.h:34
U_SHORT bitWord
Definition ichi_bns.h:342
struct tagEQUIV_INFO EQUIV_INFO
struct tagCurTree CUR_TREE
tagAtInvariantIndexes
Definition ichicant.h:87
@ AT_INV_NUM_H_FIX
Definition ichicant.h:94
@ AT_INV_HILL_ORDER
Definition ichicant.h:88
@ AT_INV_TG_NUMBERS
Definition ichicant.h:93
@ AT_INV_TAUT_ISO
Definition ichicant.h:97
@ AT_INV_BREAK1
Definition ichicant.h:95
@ AT_INV_LENGTH
Definition ichicant.h:98
@ AT_INV_NUM_H
Definition ichicant.h:90
@ AT_INV_NUM_CONNECTIONS
Definition ichicant.h:89
@ AT_INV_NUM_TG_ENDPOINTS
Definition ichicant.h:92
AT_RANK * NEIGH_LIST
Definition ichicant.h:39
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:31
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:3170
unsigned short AT_NUMB
Definition ichisize.h:10
unsigned short AT_RANK
Definition ichisize.h:11
signed short NUM_H
Definition ichisize.h:14
unsigned long INCHI_MODE
Definition ichisize.h:25
#define T_NUM_NO_ISOTOPIC
Definition ichitaut.h:69
#define T_NUM_ISOTOPIC
Definition ichitaut.h:70
AT_NUMB AT_TAUTOMER
Definition ichitaut.h:74
signed char S_CHAR
Definition inchi_api.h:78
unsigned short U_SHORT
Definition inchi_api.h:85
signed short S_SHORT
Definition inchi_api.h:84
#define TAUT_NUM
Definition mode.h:560
char element[3]
Definition ichicant.h:55
int valence
Definition ichicant.h:56
Definition ichicant.h:101
AT_NUMB val[AT_INV_LENGTH]
Definition ichicant.h:102
AT_ISO_SORT_KEY iso_sort_key
Definition ichicant.h:103
S_CHAR iso_aux_key
Definition ichicant.h:104
S_CHAR cNumberOfAttachedHydrogens
Definition ichicant.h:70
S_CHAR cNumberOfConnections
Definition ichicant.h:66
S_CHAR cNotExactlyHillOrderNumber
Definition ichicant.h:65
S_CHAR cAtomicNumber
Definition ichicant.h:68
AT_RANK cNum_tautomer_num[T_NUM_NO_ISOTOPIC]
Definition ichicant.h:81
ATOM_INVARIANT_BYTES b
Definition ichicant.h:79
AT_ISO_SORT_KEY iso_sort_key
Definition ichicant.h:83
AT_RANK cNum_tautomer_iso[T_NUM_ISOTOPIC]
Definition ichicant.h:84
AT_RANK cNum_tautomer
Definition ichicant.h:80
Definition ichicant.h:154
int num_max
Definition ichicant.h:158
AT_RANK ** pRankStack
Definition ichicant.h:156
int nMaxLenRankStack
Definition ichicant.h:157
FTCN ftcn[TAUT_NUM]
Definition ichicant.h:162
struct tagInchiTime * ulTimeOutTime
Definition ichicant.h:161
int num_atoms
Definition ichicant.h:160
int num_at_tg
Definition ichicant.h:159
Definition ichicant.h:303
const AT_NUMB * m_pNeighborsForSort
Definition ichicant.h:306
const ATOM_INVARIANT2 * m_pAtomInvariant2ForSort
Definition ichicant.h:305
bitWord * m_bBit
Definition ichicant.h:310
int m_nNumCompNeighborsRanksCountEql
Definition ichicant.h:309
int m_bBitInitialized
Definition ichicant.h:311
const NEIGH_LIST * m_pNeighList_RankForSort
Definition ichicant.h:304
const AT_RANK * m_pn_RankForSort
Definition ichicant.h:307
int m_num_bit
Definition ichicant.h:312
AT_RANK m_nMaxAtNeighRankForSort
Definition ichicant.h:308
Definition ichicant.h:369
long lNumEqualCT
Definition ichicant.h:373
long lNumTotCT
Definition ichicant.h:374
long lNumGenerators
Definition ichicant.h:376
double dGroupSize
Definition ichicant.h:375
long lNumRejectedCT
Definition ichicant.h:372
long lNumBreakTies
Definition ichicant.h:370
long lNumStoredIsomorphisms
Definition ichicant.h:377
long lNumDecreasedCT
Definition ichicant.h:371
Definition ichicant.h:324
AT_NUMB * LinearCT
Definition ichicant.h:328
int maxlenNumHfixed
Definition ichicant.h:344
S_CHAR * iso_exchg_atnos
Definition ichicant.h:351
int maxlenNumH
Definition ichicant.h:338
int maxlen_iso_exchg_atnos
Definition ichicant.h:353
int len_iso_sort_key
Definition ichicant.h:349
AT_ISO_SORT_KEY * iso_sort_key
Definition ichicant.h:348
int nMaxLenLinearCT
Definition ichicant.h:330
NUM_H * NumHfixed
Definition ichicant.h:342
int nCanonFlags
Definition ichicant.h:333
int lenNumH
Definition ichicant.h:337
int lenNumHfixed
Definition ichicant.h:343
int len_iso_exchg_atnos
Definition ichicant.h:352
int maxlen_iso_sort_key
Definition ichicant.h:350
NUM_H * NumH
Definition ichicant.h:336
int nLenCTAtOnly
Definition ichicant.h:332
struct tagInchiTime * ulTimeOutTime
Definition ichicant.h:365
AT_RANK * nAuxRank
Definition ichicant.h:363
int nLenLinearCT
Definition ichicant.h:331
Definition ichicant.h:169
int bCmpIsotopicStereo
Definition ichicant.h:234
int nMaxLenLinearCTIsotopicStereoCarb
Definition ichicant.h:245
NEIGH_LIST * NeighList
Definition ichicant.h:292
AT_RANK * nCanonOrdIsotopicStereoInv
Definition ichicant.h:268
AT_RANK * nPrevAtomNumber
Definition ichicant.h:251
int nMaxLenLinearCTIsotopicTautomer
Definition ichicant.h:223
AT_RANK * nSymmRankIsotopicTaut
Definition ichicant.h:264
AT_NUMB * LinearCT
Definition ichicant.h:189
AT_RANK * nCanonOrd
Definition ichicant.h:253
int nLenCanonOrdIsotopic
Definition ichicant.h:275
int bCmpStereo
Definition ichicant.h:210
int nLenLinearCT
Definition ichicant.h:225
AT_RANK * nCanonOrdIsotopicStereoTaut
Definition ichicant.h:269
int nMaxLenLinearCTTautomer
Definition ichicant.h:232
int nMaxLenLinearCTIsotopicStereoDble
Definition ichicant.h:241
long lNumRejectedCT
Definition ichicant.h:175
int nCanonFlags
Definition ichicant.h:185
AT_TAUTOMER * LinearCTTautomer
Definition ichicant.h:200
int nLenCanonOrdStereo
Definition ichicant.h:277
int nLenCanonOrdStereoTaut
Definition ichicant.h:278
T_GROUP_INFO * t_group_info
Definition ichicant.h:285
int bDoubleBondSquare
Definition ichicant.h:287
int nLenCanonOrdIsotopicStereo
Definition ichicant.h:279
AT_STEREO_DBLE * LinearCTIsotopicStereoDble
Definition ichicant.h:196
AT_RANK * nCanonOrdStereoInv
Definition ichicant.h:259
AT_RANK * nCanonOrdIsotopicTaut
Definition ichicant.h:265
INCHI_MODE nMode
Definition ichicant.h:288
int nLenLinearCTIsotopicTautomer
Definition ichicant.h:222
int nLenLinearCTAtOnly
Definition ichicant.h:227
AT_RANK * nSymmRank
Definition ichicant.h:254
int bIgnoreIsotopic
Definition ichicant.h:286
S_CHAR * nNum_H
Definition ichicant.h:294
int nLenLinearCTIsotopic
Definition ichicant.h:219
BCN * pBCN
Definition ichicant.h:293
AT_STEREO_DBLE * LinearCTIsotopicStereoDbleInv
Definition ichicant.h:198
int nLenLinearCTIsotopicStereoCarbInv
Definition ichicant.h:244
long lNumEqualCT
Definition ichicant.h:176
int bStereoIsBetter
Definition ichicant.h:183
AT_RANK * nCanonOrdTaut
Definition ichicant.h:255
int nLenLinearCTStereoDble
Definition ichicant.h:206
S_CHAR * bAtomUsedForStereo
Definition ichicant.h:247
int nLenLinearCTIsotopicStereoDbleInv
Definition ichicant.h:240
AT_STEREO_DBLE * LinearCTStereoDbleInv
Definition ichicant.h:194
AT_STEREO_CARB * LinearCTStereoCarbInv
Definition ichicant.h:195
AT_RANK * nSymmRankIsotopic
Definition ichicant.h:262
int nMaxLenLinearCT
Definition ichicant.h:229
AT_RANK * nSymmRankTaut
Definition ichicant.h:256
long lNumBreakTies
Definition ichicant.h:171
int nLenLinearCTAtOnly2
Definition ichicant.h:228
AT_NUMB * LinearCT2
Definition ichicant.h:204
int nLenLinearCTTautomer
Definition ichicant.h:231
AT_STEREO_CARB * LinearCTIsotopicStereoCarb
Definition ichicant.h:197
S_CHAR * bRankUsedForStereo
Definition ichicant.h:246
AT_RANK * nCanonOrdIsotopicStereo
Definition ichicant.h:267
int bKeepSymmRank
Definition ichicant.h:182
struct tagInchiTime * ulTimeOutTime
Definition ichicant.h:177
int nLenCanonOrdIsotopicStereoTaut
Definition ichicant.h:280
int nLenCanonOrdTaut
Definition ichicant.h:274
AT_ISOTOPIC * LinearCTIsotopic
Definition ichicant.h:190
int nLenLinearCTIsotopicStereoCarb
Definition ichicant.h:243
int nMaxLenLinearCTIsotopic
Definition ichicant.h:220
int nMaxLenLinearCTStereoCarb
Definition ichicant.h:217
AT_STEREO_CARB * LinearCTIsotopicStereoCarbInv
Definition ichicant.h:199
AT_STEREO_DBLE * LinearCTStereoDble
Definition ichicant.h:192
int nLenLinearCT2
Definition ichicant.h:226
S_CHAR * nExchgIsoH
Definition ichicant.h:296
AT_ISO_TGROUP * LinearCTIsotopicTautomer
Definition ichicant.h:191
int nLenCanonOrdIsotopicTaut
Definition ichicant.h:276
int nMaxLenLinearCTStereoDble
Definition ichicant.h:208
S_CHAR * nNum_H_fixed
Definition ichicant.h:295
long lNumDecreasedCT
Definition ichicant.h:174
int nLenCanonOrd
Definition ichicant.h:273
AT_STEREO_CARB * LinearCTStereoCarb
Definition ichicant.h:193
int bFirstCT
Definition ichicant.h:181
long lNumNeighListIter
Definition ichicant.h:172
AT_RANK * nCanonOrdStereo
Definition ichicant.h:258
int nLenLinearCTStereoCarbInv
Definition ichicant.h:216
AT_RANK * nCanonOrdStereoTaut
Definition ichicant.h:260
long lTotalTime
Definition ichicant.h:178
long lNumTotCT
Definition ichicant.h:173
int nLenLinearCTStereoCarb
Definition ichicant.h:215
int bHasIsotopicInTautomerGroups
Definition ichicant.h:284
int nLenLinearCTIsotopicStereoDble
Definition ichicant.h:239
int nLenLinearCTStereoDbleInv
Definition ichicant.h:207
AT_RANK * nCanonOrdIsotopic
Definition ichicant.h:263
Definition ichicant.h:389
AT_NUMB * tree
Definition ichicant.h:390
int max_len
Definition ichicant.h:391
int incr_len
Definition ichicant.h:393
int cur_len
Definition ichicant.h:392
int * nAtomNo
Definition ichicant.h:48
int * nAddToRank
Definition ichicant.h:49
int nNumSets
Definition ichicant.h:44
int * nCutVertexAtom
Definition ichicant.h:45
int * nNumInSet
Definition ichicant.h:47
int * nFirstInSet
Definition ichicant.h:46
Definition ichicant.h:114
AT_RANK * LinearCt
Definition ichicant.h:123
int nLenLinearCtAtOnly
Definition ichicant.h:124
int nCanonFlags
Definition ichicant.h:118
int num_atoms
Definition ichicant.h:117
Partition PartitionCtIso
Definition ichicant.h:144
Partition PartitionCt
Definition ichicant.h:128
NUM_H * nNumHOrig
Definition ichicant.h:132
int len_iso_sort_keys
Definition ichicant.h:148
AT_ISO_SORT_KEY * iso_sort_keysOrig
Definition ichicant.h:147
S_CHAR * iso_exchg_atnosOrig
Definition ichicant.h:150
NEIGH_LIST * NeighList
Definition ichicant.h:119
S_CHAR * iso_exchg_atnos
Definition ichicant.h:149
int num_at_tg
Definition ichicant.h:116
NUM_H * nNumHFixH
Definition ichicant.h:138
AT_ISO_SORT_KEY * iso_sort_keys
Definition ichicant.h:146
int nLenLinearCt
Definition ichicant.h:125
AT_RANK * nSymmRankCt
Definition ichicant.h:129
AT_RANK * nSymmRankCtIso
Definition ichicant.h:145
int nLenNumH
Definition ichicant.h:134
int nMaxLenLinearCt
Definition ichicant.h:126
NUM_H * nNumH
Definition ichicant.h:133
int nLenNumHFixH
Definition ichicant.h:139
NUM_H * nNumHOrigFixH
Definition ichicant.h:137
Definition ichicant.h:108
AT_NUMB * AtNumber
Definition ichicant.h:110
AT_RANK * Rank
Definition ichicant.h:109
Definition ichitaut.h:187