InChI
 
Loading...
Searching...
No Matches
ichitaut.c File Reference
#include <stdlib.h>
#include <string.h>
#include "mode.h"
#include "ichitaut.h"
#include "ichicomn.h"
#include "ichitime.h"
#include "ichicant.h"
#include "util.h"
#include "bcf_s.h"
+ Include dependency graph for ichitaut.c:

Data Structures

struct  tagChargeType
 

Macros

#define C_SUBTYPE_CHARGED   0
 
#define C_SUBTYPE_p_DONOR   1 /* new */
 
#define C_SUBTYPE_p_ACCEPT   2 /* new */
 
#define C_SUBTYPE_H_ACCEPT   4
 
#define C_SUBTYPE_H_DONOR   8
 
#define C_SUBTYPE_NEUTRAL   16
 
#define MAX_STACK_ARRAY_LEN   127
 
#define MAX_TGROUP_ARRAY_LEN   127
 
#define C_SUBTYPE_CHARGED   0
 
#define C_SUBTYPE_p_DONOR   1 /* new */
 
#define C_SUBTYPE_p_ACCEPT   2 /* new */
 
#define C_SUBTYPE_H_ACCEPT   4
 
#define C_SUBTYPE_H_DONOR   8
 
#define C_SUBTYPE_NEUTRAL   16
 
#define C_SUBTYPE_CHARGED_NON_TAUT   (C_SUBTYPE_CHARGED)
 
#define C_SUBTYPE_CHARGED_p_DONOR   (C_SUBTYPE_CHARGED|C_SUBTYPE_p_DONOR)
 
#define C_SUBTYPE_CHARGED_H_ACCEPT   (C_SUBTYPE_CHARGED|C_SUBTYPE_H_ACCEPT)
 
#define C_SUBTYPE_CHARGED_H_ACCEPT_p_DONOR   (C_SUBTYPE_CHARGED|C_SUBTYPE_H_ACCEPT|C_SUBTYPE_p_DONOR)
 
#define C_SUBTYPE_CHARGED_H_DONOR   (C_SUBTYPE_CHARGED|C_SUBTYPE_H_DONOR |C_SUBTYPE_p_DONOR)
 
#define C_SUBTYPE_NEUTRAL_NON_TAUT   (C_SUBTYPE_NEUTRAL)
 
#define C_SUBTYPE_NEUTRAL_H_ACCEPT   (C_SUBTYPE_NEUTRAL|C_SUBTYPE_H_ACCEPT)
 
#define C_SUBTYPE_NEUTRAL_H_ACCEPT_p_ACCEPT   (C_SUBTYPE_NEUTRAL|C_SUBTYPE_H_ACCEPT|C_SUBTYPE_p_ACCEPT)
 
#define C_SUBTYPE_NEUTRAL_H_DONOR   (C_SUBTYPE_NEUTRAL|C_SUBTYPE_H_DONOR)
 
#define NUM_C_TYPES   (int)(sizeof( CType )/sizeof(CType[0]))
 
#define ALT_PATH_FOUND   (MAX_ATOMS+1)
 
#define NO_ENDPOINT   (MAX_ATOMS+2) /* the two defines must be different */
 
#define DISABLE_CANDIDATE   10
 
#define cPAIR(a, b)   cPair[a+b*nNumLeftCandidates]
 
#define ACCEPTOR_PAIR   1
 
#define DONOR_PAIR   2
 
#define MAX_LOCAL_TGNUM   0 /* was 32; disable since it has not been used */
 
#define ALLOWED_EDGE(PBNS, IAT, IBOND)   ( !(PBNS) || !(PBNS)->edge || !(PBNS)->vert || !(PBNS)->edge[(PBNS)->vert[IAT].iedge[IBOND]].forbidden)
 
#define ACTUAL_ORDER(PBNS, IAT, IBOND, BTYPE)
 
#define MAX_ALT_PATH_LEN   8
 

Typedefs

typedef struct tagChargeType CHARGE_TYPE
 

Functions

int SetTautomericBonds (inp_ATOM *at, int nNumBondPos, T_BONDPOS *BondPos)
 
int CompRankTautomer (const void *a1, const void *a2, void *)
 
int RegisterEndPoints (CANON_GLOBALS *pCG, T_GROUP_INFO *t_group_info, T_ENDPOINT *EndPoint, int nNumEndPoints, inp_ATOM *at, int num_atoms, C_GROUP_INFO *cgi, struct BalancedNetworkStructure *pBNS)
 
int cmpTGroupNumber (const void *a1, const void *a2)
 
int comp_candidates (const void *a1, const void *a2)
 
int MoveEndpoint (inp_ATOM *at, S_CANDIDATE *s_candidate, AT_NUMB endpoint, AT_NUMB *nTGroupNewNumbers, AT_NUMB *nTGroupPosition, int nNewTGroupOrd, T_GROUP_INFO *t_group_info)
 
int FindAccessibleEndPoints (CANON_GLOBALS *pCG, T_ENDPOINT *EndPoint, int *nNumEndPoints, T_BONDPOS *BondPos, int *nNumBondPos, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD, inp_ATOM *at, int num_atoms, C_GROUP_INFO *cgi, int taut_mode)
 
int GetChargeType (inp_ATOM *atom, int iat, S_CHAR *cChargeSubtype)
 
int GetNeutralRepsIfNeeded (AT_NUMB *pri, AT_NUMB *prj, inp_ATOM *at, int num_atoms, T_ENDPOINT *EndPoint, int nNumEndPoints, C_GROUP_INFO *cgi)
 
int bCanBeACPoint (inp_ATOM *at, S_CHAR cCharge, S_CHAR cChangeValence, S_CHAR neutral_bonds_valence, S_CHAR neutral_valence, S_CHAR nEndpointValence, S_CHAR *cChargeSubtype)
 
int CmpCCandidates (const void *a1, const void *a2)
 
int RegisterCPoints (C_GROUP *c_group, int *pnum_c, int max_num_c, T_GROUP_INFO *t_group_info, int point1, int point2, int ctype, inp_ATOM *at, int num_atoms)
 
int GetSaltChargeType (inp_ATOM *at, int at_no, T_GROUP_INFO *t_group_info, int *s_subtype)
 
int GetOtherSaltChargeType (inp_ATOM *at, int at_no, T_GROUP_INFO *t_group_info, int *s_subtype, int bAccept_O)
 
int MergeSaltTautGroupsBlind (inp_ATOM *at, int s_type, int num_atoms, S_GROUP_INFO *s_group_info, int nNumCandidates, T_GROUP_INFO *t_group_info, C_GROUP_INFO *c_group_info, struct BalancedNetworkStructure *pBNS)
 
int ConnectSaltTGroups2SuperTGroup (inp_ATOM *at, int num_atoms, S_GROUP_INFO *s_group_info, int nNumCandidates, T_GROUP_INFO *t_group_info, C_GROUP_INFO *c_group_info, struct BalancedNetworkStructure *pBNS, int *nNewTGroupNumber, int *vertSuperTGroup)
 
int bDoNotMergeNonTautAtom (inp_ATOM *at, int at_no)
 
int GetOtherSaltType (inp_ATOM *at, int at_no, int *s_subtype)
 
int is_centerpoint_elem (U_CHAR el_number)
 
int is_centerpoint_elem_KET (U_CHAR el_number)
 
int is_centerpoint_elem_strict (U_CHAR el_number)
 
int AddAtom2num (AT_RANK num[], inp_ATOM *atom, int at_no, int bSubtract)
 
void AddAtom2DA (AT_RANK num_DA[], inp_ATOM *atom, int at_no, int bSubtract)
 
int AddEndPoint (T_ENDPOINT *pEndPoint, inp_ATOM *at, int iat)
 
int nGetEndpointInfo (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_22_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_16_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_06_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_39_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_13_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_18_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_KET (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int MarkChargeGroups (struct tagCANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms, C_GROUP_INFO *c_group_info, T_GROUP_INFO *t_group_info, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD)
 
int MarkSaltChargeGroups2 (CANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms, S_GROUP_INFO *s_group_info, T_GROUP_INFO *t_group_info, C_GROUP_INFO *c_group_info, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD)
 
int MarkSaltChargeGroups (CANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms, S_GROUP_INFO *s_group_info, T_GROUP_INFO *t_group_info, C_GROUP_INFO *c_group_info, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD)
 
int MergeSaltTautGroups (CANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms, S_GROUP_INFO *s_group_info, T_GROUP_INFO *t_group_info, C_GROUP_INFO *c_group_info, struct BalancedNetworkStructure *pBNS)
 
int MakeIsotopicHGroup (inp_ATOM *at, int num_atoms, S_GROUP_INFO *s_group_info, T_GROUP_INFO *t_group_info)
 
int MarkTautomerGroups (CANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms, T_GROUP_INFO *t_group_info, C_GROUP_INFO *c_group_info, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD)
 
int free_t_group_info (T_GROUP_INFO *t_group_info)
 
int make_a_copy_of_t_group_info (T_GROUP_INFO *t_group_info, T_GROUP_INFO *t_group_info_orig)
 
int set_tautomer_iso_sort_keys (T_GROUP_INFO *t_group_info)
 
int CountTautomerGroups (sp_ATOM *at, int num_atoms, T_GROUP_INFO *t_group_info)
 
int SortTautomerGroupsAndEndpoints (CANON_GLOBALS *pCG, T_GROUP_INFO *t_group_info, int num_atoms, int num_at_tg, AT_RANK *nRank)
 

Variables

const CHARGE_TYPE CType []
 

Macro Definition Documentation

◆ ACCEPTOR_PAIR

#define ACCEPTOR_PAIR   1

◆ ACTUAL_ORDER

#define ACTUAL_ORDER (   PBNS,
  IAT,
  IBOND,
  BTYPE 
)
Value:
( ((PBNS) && (PBNS)->edge && (PBNS)->vert &&\
((BTYPE)==BOND_ALT_123 || (BTYPE)==BOND_ALT_13 || (BTYPE)==BOND_ALT_23))? (PBNS)->edge[(PBNS)->vert[IAT].iedge[IBOND]].flow+BOND_TYPE_SINGLE:(BTYPE))
#define BOND_ALT_23
Definition extr_ct.h:219
#define BOND_ALT_13
Definition extr_ct.h:218
#define BOND_ALT_123
Definition extr_ct.h:217
#define BOND_TYPE_SINGLE
Definition incomdef.h:67

◆ ALLOWED_EDGE

#define ALLOWED_EDGE (   PBNS,
  IAT,
  IBOND 
)    ( !(PBNS) || !(PBNS)->edge || !(PBNS)->vert || !(PBNS)->edge[(PBNS)->vert[IAT].iedge[IBOND]].forbidden)

◆ ALT_PATH_FOUND

#define ALT_PATH_FOUND   (MAX_ATOMS+1)

◆ C_SUBTYPE_CHARGED [1/2]

#define C_SUBTYPE_CHARGED   0

◆ C_SUBTYPE_CHARGED [2/2]

#define C_SUBTYPE_CHARGED   0

◆ C_SUBTYPE_CHARGED_H_ACCEPT

#define C_SUBTYPE_CHARGED_H_ACCEPT   (C_SUBTYPE_CHARGED|C_SUBTYPE_H_ACCEPT)

◆ C_SUBTYPE_CHARGED_H_ACCEPT_p_DONOR

#define C_SUBTYPE_CHARGED_H_ACCEPT_p_DONOR   (C_SUBTYPE_CHARGED|C_SUBTYPE_H_ACCEPT|C_SUBTYPE_p_DONOR)

◆ C_SUBTYPE_CHARGED_H_DONOR

#define C_SUBTYPE_CHARGED_H_DONOR   (C_SUBTYPE_CHARGED|C_SUBTYPE_H_DONOR |C_SUBTYPE_p_DONOR)

◆ C_SUBTYPE_CHARGED_NON_TAUT

#define C_SUBTYPE_CHARGED_NON_TAUT   (C_SUBTYPE_CHARGED)

◆ C_SUBTYPE_CHARGED_p_DONOR

#define C_SUBTYPE_CHARGED_p_DONOR   (C_SUBTYPE_CHARGED|C_SUBTYPE_p_DONOR)

◆ C_SUBTYPE_H_ACCEPT [1/2]

#define C_SUBTYPE_H_ACCEPT   4

◆ C_SUBTYPE_H_ACCEPT [2/2]

#define C_SUBTYPE_H_ACCEPT   4

◆ C_SUBTYPE_H_DONOR [1/2]

#define C_SUBTYPE_H_DONOR   8

◆ C_SUBTYPE_H_DONOR [2/2]

#define C_SUBTYPE_H_DONOR   8

◆ C_SUBTYPE_NEUTRAL [1/2]

#define C_SUBTYPE_NEUTRAL   16

◆ C_SUBTYPE_NEUTRAL [2/2]

#define C_SUBTYPE_NEUTRAL   16

◆ C_SUBTYPE_NEUTRAL_H_ACCEPT

#define C_SUBTYPE_NEUTRAL_H_ACCEPT   (C_SUBTYPE_NEUTRAL|C_SUBTYPE_H_ACCEPT)

◆ C_SUBTYPE_NEUTRAL_H_ACCEPT_p_ACCEPT

#define C_SUBTYPE_NEUTRAL_H_ACCEPT_p_ACCEPT   (C_SUBTYPE_NEUTRAL|C_SUBTYPE_H_ACCEPT|C_SUBTYPE_p_ACCEPT)

◆ C_SUBTYPE_NEUTRAL_H_DONOR

#define C_SUBTYPE_NEUTRAL_H_DONOR   (C_SUBTYPE_NEUTRAL|C_SUBTYPE_H_DONOR)

◆ C_SUBTYPE_NEUTRAL_NON_TAUT

#define C_SUBTYPE_NEUTRAL_NON_TAUT   (C_SUBTYPE_NEUTRAL)

◆ C_SUBTYPE_p_ACCEPT [1/2]

#define C_SUBTYPE_p_ACCEPT   2 /* new */

◆ C_SUBTYPE_p_ACCEPT [2/2]

#define C_SUBTYPE_p_ACCEPT   2 /* new */

◆ C_SUBTYPE_p_DONOR [1/2]

#define C_SUBTYPE_p_DONOR   1 /* new */

◆ C_SUBTYPE_p_DONOR [2/2]

#define C_SUBTYPE_p_DONOR   1 /* new */

◆ cPAIR

#define cPAIR (   a,
 
)    cPair[a+b*nNumLeftCandidates]

◆ DISABLE_CANDIDATE

#define DISABLE_CANDIDATE   10

◆ DONOR_PAIR

#define DONOR_PAIR   2

◆ MAX_ALT_PATH_LEN

#define MAX_ALT_PATH_LEN   8

◆ MAX_LOCAL_TGNUM

#define MAX_LOCAL_TGNUM   0 /* was 32; disable since it has not been used */

◆ MAX_STACK_ARRAY_LEN

#define MAX_STACK_ARRAY_LEN   127

◆ MAX_TGROUP_ARRAY_LEN

#define MAX_TGROUP_ARRAY_LEN   127

◆ NO_ENDPOINT

#define NO_ENDPOINT   (MAX_ATOMS+2) /* the two defines must be different */

◆ NUM_C_TYPES

#define NUM_C_TYPES   (int)(sizeof( CType )/sizeof(CType[0]))

Typedef Documentation

◆ CHARGE_TYPE

typedef struct tagChargeType CHARGE_TYPE

Function Documentation

◆ AddAtom2DA()

void AddAtom2DA ( AT_RANK  num_DA[],
inp_ATOM atom,
int  at_no,
int  bSubtract 
)
+ Here is the caller graph for this function:

◆ AddAtom2num()

int AddAtom2num ( AT_RANK  num[],
inp_ATOM atom,
int  at_no,
int  bSubtract 
)
+ Here is the caller graph for this function:

◆ AddEndPoint()

int AddEndPoint ( T_ENDPOINT pEndPoint,
inp_ATOM at,
int  iat 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bCanBeACPoint()

int bCanBeACPoint ( inp_ATOM at,
S_CHAR  cCharge,
S_CHAR  cChangeValence,
S_CHAR  neutral_bonds_valence,
S_CHAR  neutral_valence,
S_CHAR  nEndpointValence,
S_CHAR cChargeSubtype 
)
+ Here is the caller graph for this function:

◆ bDoNotMergeNonTautAtom()

int bDoNotMergeNonTautAtom ( inp_ATOM at,
int  at_no 
)
+ Here is the caller graph for this function:

◆ CmpCCandidates()

int CmpCCandidates ( const void *  a1,
const void *  a2 
)
+ Here is the caller graph for this function:

◆ cmpTGroupNumber()

int cmpTGroupNumber ( const void *  a1,
const void *  a2 
)

◆ comp_candidates()

int comp_candidates ( const void *  a1,
const void *  a2 
)
+ Here is the caller graph for this function:

◆ CompRankTautomer()

int CompRankTautomer ( const void *  a1,
const void *  a2,
void *  p 
)
+ Here is the caller graph for this function:

◆ ConnectSaltTGroups2SuperTGroup()

int ConnectSaltTGroups2SuperTGroup ( inp_ATOM at,
int  num_atoms,
S_GROUP_INFO s_group_info,
int  nNumCandidates,
T_GROUP_INFO t_group_info,
C_GROUP_INFO c_group_info,
struct BalancedNetworkStructure pBNS,
int *  nNewTGroupNumber,
int *  vertSuperTGroup 
)

◆ CountTautomerGroups()

int CountTautomerGroups ( sp_ATOM at,
int  num_atoms,
T_GROUP_INFO t_group_info 
)
+ Here is the caller graph for this function:

◆ FindAccessibleEndPoints()

int FindAccessibleEndPoints ( CANON_GLOBALS pCG,
T_ENDPOINT EndPoint,
int *  nNumEndPoints,
T_BONDPOS BondPos,
int *  nNumBondPos,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD,
inp_ATOM at,
int  num_atoms,
C_GROUP_INFO cgi,
int  taut_mode 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ free_t_group_info()

int free_t_group_info ( T_GROUP_INFO t_group_info)
+ Here is the caller graph for this function:

◆ GetChargeType()

int GetChargeType ( inp_ATOM atom,
int  iat,
S_CHAR cChargeSubtype 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNeutralRepsIfNeeded()

int GetNeutralRepsIfNeeded ( AT_NUMB pri,
AT_NUMB prj,
inp_ATOM at,
int  num_atoms,
T_ENDPOINT EndPoint,
int  nNumEndPoints,
C_GROUP_INFO cgi 
)
+ Here is the caller graph for this function:

◆ GetOtherSaltChargeType()

int GetOtherSaltChargeType ( inp_ATOM at,
int  at_no,
T_GROUP_INFO t_group_info,
int *  s_subtype,
int  bAccept_O 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetOtherSaltType()

int GetOtherSaltType ( inp_ATOM at,
int  at_no,
int *  s_subtype 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSaltChargeType()

int GetSaltChargeType ( inp_ATOM at,
int  at_no,
T_GROUP_INFO t_group_info,
int *  s_subtype 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ is_centerpoint_elem()

int is_centerpoint_elem ( U_CHAR  el_number)
+ Here is the caller graph for this function:

◆ is_centerpoint_elem_KET()

int is_centerpoint_elem_KET ( U_CHAR  el_number)
+ Here is the caller graph for this function:

◆ is_centerpoint_elem_strict()

int is_centerpoint_elem_strict ( U_CHAR  el_number)
+ Here is the caller graph for this function:

◆ make_a_copy_of_t_group_info()

int make_a_copy_of_t_group_info ( T_GROUP_INFO t_group_info,
T_GROUP_INFO t_group_info_orig 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MakeIsotopicHGroup()

int MakeIsotopicHGroup ( inp_ATOM at,
int  num_atoms,
S_GROUP_INFO s_group_info,
T_GROUP_INFO t_group_info 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkChargeGroups()

int MarkChargeGroups ( struct tagCANON_GLOBALS pCG,
inp_ATOM at,
int  num_atoms,
C_GROUP_INFO c_group_info,
T_GROUP_INFO t_group_info,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkSaltChargeGroups()

int MarkSaltChargeGroups ( CANON_GLOBALS pCG,
inp_ATOM at,
int  num_atoms,
S_GROUP_INFO s_group_info,
T_GROUP_INFO t_group_info,
C_GROUP_INFO c_group_info,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkSaltChargeGroups2()

int MarkSaltChargeGroups2 ( CANON_GLOBALS pCG,
inp_ATOM at,
int  num_atoms,
S_GROUP_INFO s_group_info,
T_GROUP_INFO t_group_info,
C_GROUP_INFO c_group_info,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkTautomerGroups()

int MarkTautomerGroups ( CANON_GLOBALS pCG,
inp_ATOM at,
int  num_atoms,
T_GROUP_INFO t_group_info,
C_GROUP_INFO c_group_info,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MergeSaltTautGroups()

int MergeSaltTautGroups ( CANON_GLOBALS pCG,
inp_ATOM at,
int  num_atoms,
S_GROUP_INFO s_group_info,
T_GROUP_INFO t_group_info,
C_GROUP_INFO c_group_info,
struct BalancedNetworkStructure pBNS 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MergeSaltTautGroupsBlind()

int MergeSaltTautGroupsBlind ( inp_ATOM at,
int  s_type,
int  num_atoms,
S_GROUP_INFO s_group_info,
int  nNumCandidates,
T_GROUP_INFO t_group_info,
C_GROUP_INFO c_group_info,
struct BalancedNetworkStructure pBNS 
)

◆ MoveEndpoint()

int MoveEndpoint ( inp_ATOM at,
S_CANDIDATE s_candidate,
AT_NUMB  endpoint,
AT_NUMB nTGroupNewNumbers,
AT_NUMB nTGroupPosition,
int  nNewTGroupOrd,
T_GROUP_INFO t_group_info 
)

◆ nGetEndpointInfo()

int nGetEndpointInfo ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_KET()

int nGetEndpointInfo_KET ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_06_00()

int nGetEndpointInfo_PT_06_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_13_00()

int nGetEndpointInfo_PT_13_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_16_00()

int nGetEndpointInfo_PT_16_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_18_00()

int nGetEndpointInfo_PT_18_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_22_00()

int nGetEndpointInfo_PT_22_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_39_00()

int nGetEndpointInfo_PT_39_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterCPoints()

int RegisterCPoints ( C_GROUP c_group,
int *  pnum_c,
int  max_num_c,
T_GROUP_INFO t_group_info,
int  point1,
int  point2,
int  ctype,
inp_ATOM at,
int  num_atoms 
)
+ Here is the caller graph for this function:

◆ RegisterEndPoints()

int RegisterEndPoints ( CANON_GLOBALS pCG,
T_GROUP_INFO t_group_info,
T_ENDPOINT EndPoint,
int  nNumEndPoints,
inp_ATOM at,
int  num_atoms,
C_GROUP_INFO cgi,
struct BalancedNetworkStructure pBNS 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_tautomer_iso_sort_keys()

int set_tautomer_iso_sort_keys ( T_GROUP_INFO t_group_info)
+ Here is the caller graph for this function:

◆ SetTautomericBonds()

int SetTautomericBonds ( inp_ATOM at,
int  nNumBondPos,
T_BONDPOS BondPos 
)
+ Here is the caller graph for this function:

◆ SortTautomerGroupsAndEndpoints()

int SortTautomerGroupsAndEndpoints ( CANON_GLOBALS pCG,
T_GROUP_INFO t_group_info,
int  num_atoms,
int  num_at_tg,
AT_RANK nRank 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ CType

const CHARGE_TYPE CType[]
Initial value:
=
{
{ "N\0", 1, 3, 3, 1, 0, 0 },
{ "P\0", 1, 3, 3, 1, 1, 0 },
{ "O\0", 1, 2, 2, 1, 2, 2 },
{ "S\0", 1, 2, 2, 1, 3, 2 },
{ "Se", 1, 2, 2, 1, 4, 2 },
{ "Te", 1, 2, 2, 1, 5, 2 },
}