61#define NUM_CHEM_ELEMENTS 127
65#define AT_ISO_SORT_KEY_MULT 32
105#define BOND_ADD (BOND_BITS==2?-1:0)
197#if ( FIND_RING_SYSTEMS == 1 )
203#if ( FIND_RINS_SYSTEMS_DISTANCES == 1 )
212#define BOND_SINGLE BOND_TYPE_SINGLE
213#define BOND_DOUBLE BOND_TYPE_DOUBLE
214#define BOND_TRIPLE BOND_TYPE_TRIPLE
215#define BOND_ALTERN BOND_TYPE_ALTERN
217#define BOND_ALT_123 5
221#define BOND_ALT12NS 9
224#define BOND_TYPE_MASK 0x0f
226#define BOND_MARK_ALL 0xf0
228#define BOND_MARK_ALT12 0x10
229#define BOND_MARK_ALT123 0x20
230#define BOND_MARK_ALT13 0x30
231#define BOND_MARK_ALT23 0x40
232#define BOND_MARK_ALT12NS 0x50
233#define BOND_MARK_MASK 0x70
235#define ACTUAL_ORDER(PBNS, IAT,IBOND, BTYPE) ( ((PBNS) && (PBNS)->edge && (PBNS)->vert &&\
236 ((BTYPE)==BOND_ALT_123 || (BTYPE)==BOND_ALT_13 || (BTYPE)==BOND_ALT_23))? (PBNS)->edge[(PBNS)->vert[IAT].iedge[IBOND]].flow+BOND_TYPE_SINGLE:(BTYPE))
239#define BITS_PARITY 0x07
240#define MASK_CUMULENE_LEN 0x38
241#define KNOWN_PARITIES_EQL 0x40
242#define MAX_CUMULENE_LEN 2
244#define MULT_STEREOBOND 0x08
247#define MAKE_BITS_CUMULENE_LEN(X) ((X)*MULT_STEREOBOND)
248#define GET_BITS_CUMULENE_LEN(X) ((X)&MASK_CUMULENE_LEN)
249#define BOND_CHAIN_LEN(X) (GET_BITS_CUMULENE_LEN(X)/MULT_STEREOBOND)
250#define IS_ALLENE_CHAIN(X) ((GET_BITS_CUMULENE_LEN(X)/MULT_STEREOBOND)%2)
253#define AB_PARITY_NONE 0
254#define AB_PARITY_ODD 1
255#define AB_PARITY_EVEN 2
256#define AB_PARITY_UNKN 3
257#define AB_PARITY_UNDF 4
258#define AB_PARITY_IISO 5
259#define AB_PARITY_CALC 6
260#define AB_PARITY_0D 8
262#define AB_INV_PARITY_BITS (AB_PARITY_ODD ^ AB_PARITY_EVEN)
265#define AB_MAX_KNOWN_PARITY 4
266#define AB_MIN_KNOWN_PARITY 1
268#define AB_MAX_PART_DEFINED_PARITY 3
269#define AB_MIN_PART_DEFINED_PARITY 1
271#define AB_MAX_WELL_DEFINED_PARITY 2
272#define AB_MIN_WELL_DEFINED_PARITY 1
274#define AB_MIN_ILL_DEFINED_PARITY 3
275#define AB_MAX_ILL_DEFINED_PARITY 4
277#define AB_MAX_ANY_PARITY 4
278#define AB_MIN_ANY_PARITY 1
280#define AMBIGUOUS_STEREO 1
281#define AMBIGUOUS_STEREO_ATOM 2
282#define AMBIGUOUS_STEREO_BOND 4
283#define AMBIGUOUS_STEREO_ATOM_ISO 8
284#define AMBIGUOUS_STEREO_BOND_ISO 16
285#define AMBIGUOUS_STEREO_ERROR 32
288#define MIN_DOT_PROD 50
290#define ATOM_PARITY_VAL(X) (X)
291#define ATOM_PARITY_PART_DEF(X) (AB_MIN_PART_DEFINED_PARITY <= (X) && (X) <= AB_MAX_PART_DEFINED_PARITY)
292#define ATOM_PARITY_ILL_DEF(X) (AB_MIN_ILL_DEFINED_PARITY <= (X) && (X) <= AB_MAX_ILL_DEFINED_PARITY)
293#define ATOM_PARITY_KNOWN(X) (AB_MIN_KNOWN_PARITY <= (X) && (X) <= AB_MAX_KNOWN_PARITY)
294#define ATOM_PARITY_WELL_DEF(X) (AB_MIN_WELL_DEFINED_PARITY <= (X) && (X) <= AB_MAX_WELL_DEFINED_PARITY)
295#define ATOM_PARITY_NOT_UNKN(X) (ATOM_PARITY_KNOWN(X) && (X) != AB_PARITY_UNKN)
297#define PARITY_VAL(X) ((X) & BITS_PARITY)
298#define PARITY_PART_DEF(X) (AB_MIN_PART_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_PART_DEFINED_PARITY)
299#define PARITY_ILL_DEF(X) (AB_MIN_ILL_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_ILL_DEFINED_PARITY)
300#define PARITY_KNOWN(X) (AB_MIN_KNOWN_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_KNOWN_PARITY)
301#define PARITY_WELL_DEF(X) (AB_MIN_WELL_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_WELL_DEFINED_PARITY)
302#define PARITY_CALCULATE(X) (AB_PARITY_CALC == PARITY_VAL(X))
303#define BOND_PARITY_PART_DEFINED(X) (PARITY_PART_DEF(X) || PARITY_CALCULATE(X))
304#define BOND_PARITY_PART_KNOWN(X) (PARITY_KNOWN(X) || PARITY_CALCULATE(X))
305#define ALL_BUT_PARITY(X) ((X)&~BITS_PARITY)
307#define ALWAYS_SET_STEREO_PARITY 0
308#define NO_ISOLATED_NON_6RING_AROM_BOND 0
309#define SAVE_6_AROM_CENTERS 0
struct tagStereoDble AT_STEREO_DBLE
AT_NUMB AT_STEREO
Definition extr_ct.h:98
struct tagIsotopicAtom AT_ISOTOPIC
long AT_ISO_SORT_KEY
Definition extr_ct.h:69
struct tagStereoCarb AT_STEREO_CARB
#define ATOM_EL_LEN
Definition ichicant.h:97
#define MAXVAL
Definition ichicant.h:95
unsigned short AT_NUMB
Definition ichisize.h:45
signed short NUM_H
Definition ichisize.h:49
signed char S_CHAR
Definition inchi_api.h:113
#define NUM_H_ISOTOPES
Definition inchi_api.h:107
unsigned char U_CHAR
Definition inchi_api.h:114
#define MAX_NUM_STEREO_BONDS
Definition inchi_api.h:1176
int maxvalence
Definition extr_ct.h:56
char element[3]
Definition extr_ct.h:55
AT_NUMB nBlockSystem
Definition extr_ct.h:201
AT_NUMB orig_at_number
Definition extr_ct.h:115
S_CHAR marked
Definition extr_ct.h:135
S_CHAR stereo_bond_z_prod2[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:153
S_CHAR num_iso_H[NUM_H_ISOTOPES]
Definition extr_ct.h:126
U_CHAR bond_type[MAXVAL]
Definition extr_ct.h:119
S_CHAR stereo_bond_ord2[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:150
S_CHAR valence
Definition extr_ct.h:123
AT_NUMB init_rank
Definition extr_ct.h:113
S_CHAR stereo_atom_parity2
Definition extr_ct.h:190
S_CHAR chem_bonds_valence
Definition extr_ct.h:124
S_CHAR bHasStereoOrEquToStereo2
Definition extr_ct.h:195
AT_NUMB neighbor[MAXVAL]
Definition extr_ct.h:112
S_CHAR bHasStereoOrEquToStereo
Definition extr_ct.h:194
AT_NUMB stereo_bond_neighbor[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:146
S_CHAR stereo_bond_parity2[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:155
char elname[ATOM_EL_LEN]
Definition extr_ct.h:111
S_CHAR stereo_bond_parity[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:154
AT_ISO_SORT_KEY iso_sort_key
Definition extr_ct.h:129
S_CHAR charge
Definition extr_ct.h:132
AT_NUMB nNumAtInRingSystem
Definition extr_ct.h:200
S_CHAR z_dir[3]
Definition extr_ct.h:209
AT_NUMB endpoint
Definition extr_ct.h:137
S_CHAR stereo_bond_z_prod[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:152
S_CHAR final_parity2
Definition extr_ct.h:192
S_CHAR num_H
Definition extr_ct.h:125
S_CHAR bCutVertex
Definition extr_ct.h:198
AT_NUMB orig_compt_at_numb
Definition extr_ct.h:116
S_CHAR parity2
Definition extr_ct.h:185
S_CHAR final_parity
Definition extr_ct.h:191
U_CHAR el_number
Definition extr_ct.h:120
S_CHAR stereo_atom_parity
Definition extr_ct.h:188
S_CHAR radical
Definition extr_ct.h:133
S_CHAR iso_atw_diff
Definition extr_ct.h:128
S_CHAR parity
Definition extr_ct.h:177
S_CHAR bAmbiguousStereo
Definition extr_ct.h:193
S_CHAR stereo_bond_ord[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:148
AT_NUMB nRingSystem
Definition extr_ct.h:199
S_CHAR cFlags
Definition extr_ct.h:127
AT_NUMB stereo_bond_neighbor2[MAX_NUM_STEREO_BONDS]
Definition extr_ct.h:147
AT_NUMB at_num
Definition extr_ct.h:91
NUM_H num_T
Definition extr_ct.h:94
NUM_H num_1H
Definition extr_ct.h:92
NUM_H num_D
Definition extr_ct.h:93
NUM_H iso_atw_diff
Definition extr_ct.h:95