Include dependency graph for extr_ct.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | AtData |
| struct | tagStereoCarb |
| struct | tagStereoDble |
| struct | tagIsotopicAtom |
| struct | tagAtom |
Macros | |
| #define | NUM_CHEM_ELEMENTS 127 /* well above number of known chem. elements */ |
| #define | AT_ISO_SORT_KEY_MULT 32 /* up to 32 identical hydrogen isotopes */ |
| #define | BYTE_BITS 8 /* number of bits in one byte */ |
| #define | BOND_MASK 0xf /* 4 bits */ |
| #define | BOND_BITS 4 /* 3 or 4 does not matter; 2 is too small for BOND_TAUTOM */ |
| #define | BOND_ADD (BOND_BITS==2?-1:0) /* subtract 1 from bonds stored in CT */ |
| #define | BOND_SINGLE BOND_TYPE_SINGLE /* 1 */ |
| #define | BOND_DOUBLE BOND_TYPE_DOUBLE /* 2 */ |
| #define | BOND_TRIPLE BOND_TYPE_TRIPLE /* 3 */ |
| #define | BOND_ALTERN BOND_TYPE_ALTERN /* 4 single/double */ |
| #define | BOND_ALT_123 5 /* single/double/triple */ |
| #define | BOND_ALT_13 6 /* single/triple */ |
| #define | BOND_ALT_23 7 /* double/triple */ |
| #define | BOND_TAUTOM 8 |
| #define | BOND_ALT12NS 9 |
| #define | BOND_NUMDIF 9 /* number of different kinds of bonds */ |
| #define | BOND_TYPE_MASK 0x0f |
| #define | BOND_MARK_ALL 0xf0 /* complement to BOND_TYPE_MASK */ |
| #define | BOND_MARK_ALT12 0x10 |
| #define | BOND_MARK_ALT123 0x20 |
| #define | BOND_MARK_ALT13 0x30 |
| #define | BOND_MARK_ALT23 0x40 |
| #define | BOND_MARK_ALT12NS 0x50 /* 1 or 2, non-stereo */ |
| #define | BOND_MARK_MASK 0x70 |
| #define | ACTUAL_ORDER(PBNS, IAT, IBOND, BTYPE) |
| #define | BITS_PARITY 0x07 /* mask to retrieve half-bond parity */ |
| #define | MASK_CUMULENE_LEN 0x38 /* mask to retrieve (cumulene chain length - 1)*MULT_STEREOBOND */ |
| #define | KNOWN_PARITIES_EQL 0x40 /* parity is same for all pairs of constit. equivalent atoms */ |
| #define | MAX_CUMULENE_LEN 2 /* max number of bonds in a cumulene chain - 1 */ |
| #define | MULT_STEREOBOND |
| #define | MAKE_BITS_CUMULENE_LEN(X) ((X)*MULT_STEREOBOND) |
| #define | GET_BITS_CUMULENE_LEN(X) ((X)&MASK_CUMULENE_LEN) |
| #define | BOND_CHAIN_LEN(X) (GET_BITS_CUMULENE_LEN(X)/MULT_STEREOBOND) /* 0 => double bond, 1 => allene, 2 => cumulene,..*/ |
| #define | IS_ALLENE_CHAIN(X) ((GET_BITS_CUMULENE_LEN(X)/MULT_STEREOBOND)%2) |
| #define | AB_PARITY_NONE 0 /* 0 => no parity; also parity&0x38 = 0 */ |
| #define | AB_PARITY_ODD 1 /* 1 => odd parity */ |
| #define | AB_PARITY_EVEN 2 /* 2 => even parity */ |
| #define | AB_PARITY_UNKN 3 /* 3 => user marked as unknown parity */ |
| #define | AB_PARITY_UNDF 4 /* 4 => parity cannot be defined because of symmetry or not well defined geometry */ |
| #define | AB_PARITY_IISO 5 /* 5 => no parity because of identical atoms */ |
| #define | AB_PARITY_CALC 6 /* 6 => calculate parity later */ |
| #define | AB_PARITY_0D 8 /* 8 => bit signifies 0D case -- not used */ |
| #define | AB_INV_PARITY_BITS (AB_PARITY_ODD ^ AB_PARITY_EVEN) |
| #define | AB_MAX_KNOWN_PARITY 4 /* precalculated from const. equivalence parities */ |
| #define | AB_MIN_KNOWN_PARITY 1 |
| #define | AB_MAX_PART_DEFINED_PARITY 3 /* 1, 2, 3 => defined parities, uncluding 'unknown' */ |
| #define | AB_MIN_PART_DEFINED_PARITY 1 /* min(AB_PARITY_ODD, AB_PARITY_EVEN, AB_PARITY_UNKN) */ |
| #define | AB_MAX_WELL_DEFINED_PARITY 2 /* 1, 2 => well defined parities, uncluding 'unknown' */ |
| #define | AB_MIN_WELL_DEFINED_PARITY 1 /* min(AB_PARITY_ODD, AB_PARITY_EVEN) */ |
| #define | AB_MIN_ILL_DEFINED_PARITY 3 |
| #define | AB_MAX_ILL_DEFINED_PARITY 4 |
| #define | AB_MAX_ANY_PARITY 4 |
| #define | AB_MIN_ANY_PARITY 1 |
| #define | AMBIGUOUS_STEREO 1 |
| #define | AMBIGUOUS_STEREO_ATOM 2 |
| #define | AMBIGUOUS_STEREO_BOND 4 |
| #define | AMBIGUOUS_STEREO_ATOM_ISO 8 |
| #define | AMBIGUOUS_STEREO_BOND_ISO 16 |
| #define | AMBIGUOUS_STEREO_ERROR 32 |
| #define | MIN_DOT_PROD 50 /* min value of at->stereo_bond_z_prod[i] to define parity */ |
| #define | ATOM_PARITY_VAL(X) (X) |
| #define | ATOM_PARITY_PART_DEF(X) (AB_MIN_PART_DEFINED_PARITY <= (X) && (X) <= AB_MAX_PART_DEFINED_PARITY) |
| #define | ATOM_PARITY_ILL_DEF(X) (AB_MIN_ILL_DEFINED_PARITY <= (X) && (X) <= AB_MAX_ILL_DEFINED_PARITY) |
| #define | ATOM_PARITY_KNOWN(X) (AB_MIN_KNOWN_PARITY <= (X) && (X) <= AB_MAX_KNOWN_PARITY) |
| #define | ATOM_PARITY_WELL_DEF(X) (AB_MIN_WELL_DEFINED_PARITY <= (X) && (X) <= AB_MAX_WELL_DEFINED_PARITY) |
| #define | ATOM_PARITY_NOT_UNKN(X) (ATOM_PARITY_KNOWN(X) && (X) != AB_PARITY_UNKN) |
| #define | PARITY_VAL(X) ((X) & BITS_PARITY) |
| #define | PARITY_PART_DEF(X) (AB_MIN_PART_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_PART_DEFINED_PARITY) |
| #define | PARITY_ILL_DEF(X) (AB_MIN_ILL_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_ILL_DEFINED_PARITY) |
| #define | PARITY_KNOWN(X) (AB_MIN_KNOWN_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_KNOWN_PARITY) |
| #define | PARITY_WELL_DEF(X) (AB_MIN_WELL_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_WELL_DEFINED_PARITY) |
| #define | PARITY_CALCULATE(X) (AB_PARITY_CALC == PARITY_VAL(X)) |
| #define | BOND_PARITY_PART_DEFINED(X) (PARITY_PART_DEF(X) || PARITY_CALCULATE(X)) |
| #define | BOND_PARITY_PART_KNOWN(X) (PARITY_KNOWN(X) || PARITY_CALCULATE(X)) |
| #define | ALL_BUT_PARITY(X) ((X)&~BITS_PARITY) |
| #define | ALWAYS_SET_STEREO_PARITY 0 |
| #define | NO_ISOLATED_NON_6RING_AROM_BOND 0 /* for Yuri */ |
| #define | SAVE_6_AROM_CENTERS 0 /* for Yuri */ |
Typedefs | |
| typedef long | AT_ISO_SORT_KEY |
| typedef struct tagStereoCarb | AT_STEREO_CARB |
| typedef struct tagStereoDble | AT_STEREO_DBLE |
| typedef struct tagIsotopicAtom | AT_ISOTOPIC |
| typedef AT_NUMB | AT_STEREO |
| typedef struct tagAtom | sp_ATOM |
| #define AB_INV_PARITY_BITS (AB_PARITY_ODD ^ AB_PARITY_EVEN) |
| #define AB_MAX_ANY_PARITY 4 |
| #define AB_MAX_ILL_DEFINED_PARITY 4 |
| #define AB_MAX_KNOWN_PARITY 4 /* precalculated from const. equivalence parities */ |
| #define AB_MAX_PART_DEFINED_PARITY 3 /* 1, 2, 3 => defined parities, uncluding 'unknown' */ |
| #define AB_MAX_WELL_DEFINED_PARITY 2 /* 1, 2 => well defined parities, uncluding 'unknown' */ |
| #define AB_MIN_ANY_PARITY 1 |
| #define AB_MIN_ILL_DEFINED_PARITY 3 |
| #define AB_MIN_KNOWN_PARITY 1 |
| #define AB_MIN_PART_DEFINED_PARITY 1 /* min(AB_PARITY_ODD, AB_PARITY_EVEN, AB_PARITY_UNKN) */ |
| #define AB_MIN_WELL_DEFINED_PARITY 1 /* min(AB_PARITY_ODD, AB_PARITY_EVEN) */ |
| #define AB_PARITY_0D 8 /* 8 => bit signifies 0D case -- not used */ |
| #define AB_PARITY_CALC 6 /* 6 => calculate parity later */ |
| #define AB_PARITY_EVEN 2 /* 2 => even parity */ |
| #define AB_PARITY_IISO 5 /* 5 => no parity because of identical atoms */ |
| #define AB_PARITY_NONE 0 /* 0 => no parity; also parity&0x38 = 0 */ |
| #define AB_PARITY_ODD 1 /* 1 => odd parity */ |
| #define AB_PARITY_UNDF 4 /* 4 => parity cannot be defined because of symmetry or not well defined geometry */ |
| #define AB_PARITY_UNKN 3 /* 3 => user marked as unknown parity */ |
| #define ACTUAL_ORDER | ( | PBNS, | |
| IAT, | |||
| IBOND, | |||
| BTYPE | |||
| ) |
| #define ALL_BUT_PARITY | ( | X | ) | ((X)&~BITS_PARITY) |
| #define ALWAYS_SET_STEREO_PARITY 0 |
| #define AMBIGUOUS_STEREO 1 |
| #define AMBIGUOUS_STEREO_ATOM 2 |
| #define AMBIGUOUS_STEREO_ATOM_ISO 8 |
| #define AMBIGUOUS_STEREO_BOND 4 |
| #define AMBIGUOUS_STEREO_BOND_ISO 16 |
| #define AMBIGUOUS_STEREO_ERROR 32 |
| #define AT_ISO_SORT_KEY_MULT 32 /* up to 32 identical hydrogen isotopes */ |
| #define ATOM_PARITY_ILL_DEF | ( | X | ) | (AB_MIN_ILL_DEFINED_PARITY <= (X) && (X) <= AB_MAX_ILL_DEFINED_PARITY) |
| #define ATOM_PARITY_KNOWN | ( | X | ) | (AB_MIN_KNOWN_PARITY <= (X) && (X) <= AB_MAX_KNOWN_PARITY) |
| #define ATOM_PARITY_NOT_UNKN | ( | X | ) | (ATOM_PARITY_KNOWN(X) && (X) != AB_PARITY_UNKN) |
| #define ATOM_PARITY_PART_DEF | ( | X | ) | (AB_MIN_PART_DEFINED_PARITY <= (X) && (X) <= AB_MAX_PART_DEFINED_PARITY) |
| #define ATOM_PARITY_VAL | ( | X | ) | (X) |
| #define ATOM_PARITY_WELL_DEF | ( | X | ) | (AB_MIN_WELL_DEFINED_PARITY <= (X) && (X) <= AB_MAX_WELL_DEFINED_PARITY) |
| #define BITS_PARITY 0x07 /* mask to retrieve half-bond parity */ |
| #define BOND_ADD (BOND_BITS==2?-1:0) /* subtract 1 from bonds stored in CT */ |
| #define BOND_ALT12NS 9 |
| #define BOND_ALT_123 5 /* single/double/triple */ |
| #define BOND_ALT_13 6 /* single/triple */ |
| #define BOND_ALT_23 7 /* double/triple */ |
| #define BOND_ALTERN BOND_TYPE_ALTERN /* 4 single/double */ |
| #define BOND_BITS 4 /* 3 or 4 does not matter; 2 is too small for BOND_TAUTOM */ |
| #define BOND_CHAIN_LEN | ( | X | ) | (GET_BITS_CUMULENE_LEN(X)/MULT_STEREOBOND) /* 0 => double bond, 1 => allene, 2 => cumulene,..*/ |
| #define BOND_DOUBLE BOND_TYPE_DOUBLE /* 2 */ |
| #define BOND_MARK_ALL 0xf0 /* complement to BOND_TYPE_MASK */ |
| #define BOND_MARK_ALT12 0x10 |
| #define BOND_MARK_ALT123 0x20 |
| #define BOND_MARK_ALT12NS 0x50 /* 1 or 2, non-stereo */ |
| #define BOND_MARK_ALT13 0x30 |
| #define BOND_MARK_ALT23 0x40 |
| #define BOND_MARK_MASK 0x70 |
| #define BOND_MASK 0xf /* 4 bits */ |
| #define BOND_NUMDIF 9 /* number of different kinds of bonds */ |
| #define BOND_PARITY_PART_DEFINED | ( | X | ) | (PARITY_PART_DEF(X) || PARITY_CALCULATE(X)) |
| #define BOND_PARITY_PART_KNOWN | ( | X | ) | (PARITY_KNOWN(X) || PARITY_CALCULATE(X)) |
| #define BOND_SINGLE BOND_TYPE_SINGLE /* 1 */ |
| #define BOND_TAUTOM 8 |
| #define BOND_TRIPLE BOND_TYPE_TRIPLE /* 3 */ |
| #define BOND_TYPE_MASK 0x0f |
| #define BYTE_BITS 8 /* number of bits in one byte */ |
| #define GET_BITS_CUMULENE_LEN | ( | X | ) | ((X)&MASK_CUMULENE_LEN) |
| #define IS_ALLENE_CHAIN | ( | X | ) | ((GET_BITS_CUMULENE_LEN(X)/MULT_STEREOBOND)%2) |
| #define KNOWN_PARITIES_EQL 0x40 /* parity is same for all pairs of constit. equivalent atoms */ |
| #define MAKE_BITS_CUMULENE_LEN | ( | X | ) | ((X)*MULT_STEREOBOND) |
| #define MASK_CUMULENE_LEN 0x38 /* mask to retrieve (cumulene chain length - 1)*MULT_STEREOBOND */ |
| #define MAX_CUMULENE_LEN 2 /* max number of bonds in a cumulene chain - 1 */ |
| #define MIN_DOT_PROD 50 /* min value of at->stereo_bond_z_prod[i] to define parity */ |
| #define MULT_STEREOBOND |
| #define NO_ISOLATED_NON_6RING_AROM_BOND 0 /* for Yuri */ |
| #define NUM_CHEM_ELEMENTS 127 /* well above number of known chem. elements */ |
| #define PARITY_CALCULATE | ( | X | ) | (AB_PARITY_CALC == PARITY_VAL(X)) |
| #define PARITY_ILL_DEF | ( | X | ) | (AB_MIN_ILL_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_ILL_DEFINED_PARITY) |
| #define PARITY_KNOWN | ( | X | ) | (AB_MIN_KNOWN_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_KNOWN_PARITY) |
| #define PARITY_PART_DEF | ( | X | ) | (AB_MIN_PART_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_PART_DEFINED_PARITY) |
| #define PARITY_VAL | ( | X | ) | ((X) & BITS_PARITY) |
| #define PARITY_WELL_DEF | ( | X | ) | (AB_MIN_WELL_DEFINED_PARITY <= PARITY_VAL(X) && PARITY_VAL(X) <= AB_MAX_WELL_DEFINED_PARITY) |
| #define SAVE_6_AROM_CENTERS 0 /* for Yuri */ |
| typedef long AT_ISO_SORT_KEY |
| typedef struct tagIsotopicAtom AT_ISOTOPIC |
| typedef struct tagStereoCarb AT_STEREO_CARB |
| typedef struct tagStereoDble AT_STEREO_DBLE |