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

Data Structures

struct  tagTgDiffHChgFH
 

Macros

#define INC_ADD_EDGE   64
 
#define fNumRPosChgH   0 /* number of positive charges on endpoints that have H in at2[] */
 
#define fNumRPosChgU   1 /* number of positive charges on endpoints that have no H in at2[] */
 
#define fNumRNegChgO   2 /* number of negative charges on O endpoints */
 
#define fNumRNegChgN   3 /* number of negative charges on N endpoints */
 
#define fNumRNeutrlH   4 /* number of neutral endp that have H in at2[] */
 
#define fNumNPosChgH   5 /* number of positive charges on endpoints that have H in atf[] */
 
#define fNumNPosChgU   6 /* number of positive charges on endpoints that have no H in atf[] */
 
#define fNumNNegChgO   7 /* number of negative charges on O endpoints */
 
#define fNumNNegChgN   8 /* number of negative charges on N endpoints */
 
#define fNumNNeutrlH   9 /* number of neutral endp that have H in atf[] */
 
#define fNumAllChgT   10 /* total number of fNum... */
 
#define CHG_SET_NOOH   0
 
#define CHG_SET_WRONG_TAUT   1
 
#define CHG_SET_TAUT   2
 
#define CHG_LAST_SET   2 /* the last index in trying */
 
#define CHG_SET_O_FIXED   3
 
#define CHG_SET_NUM   4
 
#define CHG_SET_MISSED_TAUT   0
 
#define CHG_SET_OTHER_TAUT_O   1
 
#define CHG_SET_OTHER_TAUT_N   2
 
#define CHG_LAST_SET   2 /* the last index in trying */
 
#define CHG_SET_NN   3
 
#define CHG_SET_AVOID   4
 
#define CHG_SET_NUM   5
 
#define CHG_SET_MISSED_TAUT_1   0
 
#define CHG_SET_MISSED_TAUT_ALL   1
 
#define CHG_SET_OTHER_TAUT_1   2
 
#define CHG_SET_OTHER_TAUT_ALL   3
 
#define CHG_LAST_SET   3 /* the last index in trying */
 
#define CHG_SET_NO_IN_NO2M2   4
 
#define CHG_SET_AVOID   5
 
#define CHG_SET_NUM   6
 

Typedefs

typedef struct tagTgDiffHChgFH TgDiffHChgFH
 

Functions

static int FillTgDiffHChgFH (TgDiffHChgFH tdhc[], int max_tdhc, inp_ATOM at2[], inp_ATOM atf[], AT_NUMB *nCanon2AtnoRevrs, VAL_AT *pVA, T_GROUP_INFO *ti, EDGE_LIST *pAtomIndList)
 
int bHas_N_V (inp_ATOM *at2, int num_atoms)
 
int FixFixedHRestoredStructure (CANON_GLOBALS *pCG, INCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *at3, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, T_GROUP_INFO **ppt_group_info, inp_ATOM **ppat_norm, inp_ATOM **ppat_prep, INChI *pInChI[], long num_inp, int bHasSomeFixedH, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask, int forbidden_stereo_edge_mask)
 

Variables

short iat_DB_O [MAX_DIFF_FIXH]
 
short iat_SB_O_Minus [MAX_DIFF_FIXH]
 
short iat_DB_O_Plus [MAX_DIFF_FIXH]
 
short iat_SB_NH [MAX_DIFF_FIXH]
 
short iat_SB_N_Minus [MAX_DIFF_FIXH]
 
short iat_DB_N [MAX_DIFF_FIXH]
 
short iat_SB_Neutr [MAX_DIFF_FIXH]
 
short iat_DB_Charged [MAX_DIFF_FIXH]
 
short iat_DB_NHn_Plus [MAX_DIFF_FIXH]
 
short iat_SB_NHm_Neutr [MAX_DIFF_FIXH]
 
short iat_DB_O_Neutr [MAX_DIFF_FIXH]
 
short iat_DB_N_Neutr [MAX_DIFF_FIXH]
 
short iat_SB_N_Neutr [MAX_DIFF_FIXH]
 
short iat_N_V_Array [MAX_DIFF_FIXH]
 
short iat_Central [MAX_DIFF_FIXH]
 
short iat_NO2 [MAX_DIFF_FIXH]
 
TgDiffHChgFH tdhc [MAX_DIFF_FIXH]
 

Macro Definition Documentation

◆ CHG_LAST_SET [1/3]

#define CHG_LAST_SET   2 /* the last index in trying */

◆ CHG_LAST_SET [2/3]

#define CHG_LAST_SET   2 /* the last index in trying */

◆ CHG_LAST_SET [3/3]

#define CHG_LAST_SET   3 /* the last index in trying */

◆ CHG_SET_AVOID [1/2]

#define CHG_SET_AVOID   4

◆ CHG_SET_AVOID [2/2]

#define CHG_SET_AVOID   5

◆ CHG_SET_MISSED_TAUT

#define CHG_SET_MISSED_TAUT   0

◆ CHG_SET_MISSED_TAUT_1

#define CHG_SET_MISSED_TAUT_1   0

◆ CHG_SET_MISSED_TAUT_ALL

#define CHG_SET_MISSED_TAUT_ALL   1

◆ CHG_SET_NN

#define CHG_SET_NN   3

◆ CHG_SET_NO_IN_NO2M2

#define CHG_SET_NO_IN_NO2M2   4

◆ CHG_SET_NOOH

#define CHG_SET_NOOH   0

◆ CHG_SET_NUM [1/3]

#define CHG_SET_NUM   4

◆ CHG_SET_NUM [2/3]

#define CHG_SET_NUM   5

◆ CHG_SET_NUM [3/3]

#define CHG_SET_NUM   6

◆ CHG_SET_O_FIXED

#define CHG_SET_O_FIXED   3

◆ CHG_SET_OTHER_TAUT_1

#define CHG_SET_OTHER_TAUT_1   2

◆ CHG_SET_OTHER_TAUT_ALL

#define CHG_SET_OTHER_TAUT_ALL   3

◆ CHG_SET_OTHER_TAUT_N

#define CHG_SET_OTHER_TAUT_N   2

◆ CHG_SET_OTHER_TAUT_O

#define CHG_SET_OTHER_TAUT_O   1

◆ CHG_SET_TAUT

#define CHG_SET_TAUT   2

◆ CHG_SET_WRONG_TAUT

#define CHG_SET_WRONG_TAUT   1

◆ fNumAllChgT

#define fNumAllChgT   10 /* total number of fNum... */

◆ fNumNNegChgN

#define fNumNNegChgN   8 /* number of negative charges on N endpoints */

◆ fNumNNegChgO

#define fNumNNegChgO   7 /* number of negative charges on O endpoints */

◆ fNumNNeutrlH

#define fNumNNeutrlH   9 /* number of neutral endp that have H in atf[] */

◆ fNumNPosChgH

#define fNumNPosChgH   5 /* number of positive charges on endpoints that have H in atf[] */

◆ fNumNPosChgU

#define fNumNPosChgU   6 /* number of positive charges on endpoints that have no H in atf[] */

◆ fNumRNegChgN

#define fNumRNegChgN   3 /* number of negative charges on N endpoints */

◆ fNumRNegChgO

#define fNumRNegChgO   2 /* number of negative charges on O endpoints */

◆ fNumRNeutrlH

#define fNumRNeutrlH   4 /* number of neutral endp that have H in at2[] */

◆ fNumRPosChgH

#define fNumRPosChgH   0 /* number of positive charges on endpoints that have H in at2[] */

◆ fNumRPosChgU

#define fNumRPosChgU   1 /* number of positive charges on endpoints that have no H in at2[] */

◆ INC_ADD_EDGE

#define INC_ADD_EDGE   64

Typedef Documentation

◆ TgDiffHChgFH

typedef struct tagTgDiffHChgFH TgDiffHChgFH

Function Documentation

◆ bHas_N_V()

int bHas_N_V ( inp_ATOM at2,
int  num_atoms 
)
+ Here is the caller graph for this function:

◆ FillTgDiffHChgFH()

int FillTgDiffHChgFH ( TgDiffHChgFH  tdhc[],
int  max_tdhc,
inp_ATOM  at2[],
inp_ATOM  atf[],
AT_NUMB nCanon2AtnoRevrs,
VAL_AT pVA,
T_GROUP_INFO ti,
EDGE_LIST pAtomIndList 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FixFixedHRestoredStructure()

int FixFixedHRestoredStructure ( CANON_GLOBALS pCG,
INCHI_CLOCK ic,
ICHICONST INPUT_PARMS ip,
STRUCT_DATA sd,
BN_STRUCT pBNS,
BN_DATA pBD,
StrFromINChI pStruct,
inp_ATOM at,
inp_ATOM at2,
inp_ATOM at3,
VAL_AT pVA,
ALL_TC_GROUPS pTCGroups,
T_GROUP_INFO **  ppt_group_info,
inp_ATOM **  ppat_norm,
inp_ATOM **  ppat_prep,
INChI pInChI[],
long  num_inp,
int  bHasSomeFixedH,
int *  pnNumRunBNS,
int *  pnTotalDelta,
int  forbidden_edge_mask,
int  forbidden_stereo_edge_mask 
)

pc2i->c2at[i].endptInChI &&

at2[iat].num_H &&

at2[iat].num_H &&

at2[iat].num_H &&

(nMobHInChI && nMobHInChI[i] ) &&

(pStruct->fixed_H && pStruct->fixed_H[i]) &&

(nMobHInChI && nMobHInChI[i] ) &&

pc2i->c2at[i].endptRevrs &&

pStruct->endpoint[i] &&

(pStruct->fixed_H && pStruct->fixed_H[i]) &&

pc2i->c2at[i].endptInChI &&

(nMobHInChI && nMobHInChI[i] ) &&

(nMobHInChI && nMobHInChI[i] ) &&

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ iat_Central

short iat_Central[MAX_DIFF_FIXH]

◆ iat_DB_Charged

short iat_DB_Charged[MAX_DIFF_FIXH]

◆ iat_DB_N

short iat_DB_N[MAX_DIFF_FIXH]

◆ iat_DB_N_Neutr

short iat_DB_N_Neutr[MAX_DIFF_FIXH]

◆ iat_DB_NHn_Plus

short iat_DB_NHn_Plus[MAX_DIFF_FIXH]

◆ iat_DB_O

short iat_DB_O[MAX_DIFF_FIXH]

◆ iat_DB_O_Neutr

short iat_DB_O_Neutr[MAX_DIFF_FIXH]

◆ iat_DB_O_Plus

short iat_DB_O_Plus[MAX_DIFF_FIXH]

◆ iat_N_V_Array

short iat_N_V_Array[MAX_DIFF_FIXH]

◆ iat_NO2

short iat_NO2[MAX_DIFF_FIXH]

◆ iat_SB_N_Minus

short iat_SB_N_Minus[MAX_DIFF_FIXH]

◆ iat_SB_N_Neutr

short iat_SB_N_Neutr[MAX_DIFF_FIXH]

◆ iat_SB_Neutr

short iat_SB_Neutr[MAX_DIFF_FIXH]

◆ iat_SB_NH

short iat_SB_NH[MAX_DIFF_FIXH]

◆ iat_SB_NHm_Neutr

short iat_SB_NHm_Neutr[MAX_DIFF_FIXH]

◆ iat_SB_O_Minus

short iat_SB_O_Minus[MAX_DIFF_FIXH]

◆ tdhc