InChI
 
Loading...
Searching...
No Matches
strutil.h File Reference
#include "inpdef.h"
#include "ichi.h"
+ Include dependency graph for strutil.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  tagInChICompareResults
 
struct  subgraf_edge
 
struct  subgraf
 
struct  subgraf_pathfinder
 

Macros

#define IDIFF_SB   (IDIF_SB_PARITY | IDIF_SB_EXTRA_UNDF | IDIF_SB_EXTRA | IDIF_SB_MISS_UNDF | IDIF_SB_MISS)
 
#define IDIFF_SC   (IDIF_SC_PARITY | IDIF_SC_EXTRA_UNDF | IDIF_SC_EXTRA | IDIF_SC_MISS_UNDF | IDIF_SC_MISS)
 
#define IDIFF_CONSTIT
 
#define IDIFF_STEREO
 
#define ICR_MAX_ENDP_IN1_ONLY   32
 
#define ICR_MAX_ENDP_IN2_ONLY   32
 
#define ICR_MAX_DIFF_FIXED_H   32
 
#define ICR_MAX_SB_IN1_ONLY   32
 
#define ICR_MAX_SB_IN2_ONLY   32
 
#define ICR_MAX_SC_IN1_ONLY   32
 
#define ICR_MAX_SC_IN2_ONLY   32
 
#define ICR_MAX_SB_UNDF   32
 
#define ICR_MAX_SC_UNDF   32
 
#define EQL_EXISTS   1
 
#define EQL_SP3   2
 
#define EQL_SP3_INV   4
 
#define EQL_SP2   8
 
#define EQL_EQU   0
 
#define EQL_EQU_TG   1
 
#define EQL_EQU_ISO   2
 
#define EQL_NUM   0
 
#define EQL_NUM_INV   1
 
#define EQL_NUM_ISO   2
 
#define FLAG_SORT_PRINT_TRANSPOS_BAS   1 /* transposition in the main InChI layer */
 
#define FLAG_SORT_PRINT_TRANSPOS_REC   2 /* transposition in the reconnected InChI layer */
 
#define FLAG_SORT_PRINT_NO_NFIX_H_BAS   4 /* no fixed H non-isotopic in the main InChI layer */
 
#define FLAG_SORT_PRINT_NO_NFIX_H_REC   8 /* no fixed H non-isotopic in the reconnected InChI layer */
 
#define FLAG_SORT_PRINT_NO_IFIX_H_BAS   16 /* no fixed H isotopic in the main InChI layer */
 
#define FLAG_SORT_PRINT_NO_IFIX_H_REC   32 /* no fixed H isotopic in the the reconnected InChI layer */
 
#define FLAG_SORT_PRINT_ReChI_PREFIX   64 /* Output ReChI instead of InChI */
 
#define SDF_LBL_VAL(L, V)   ((L)&&(L)[0])?gsSpace:gsEmpty, ((L)&&(L)[0])?L:gsEmpty, ((L)&&(L)[0])? (((V)&&(V)[0])?gsEqual:gsSpace):gsEmpty, ((V)&&(V)[0])?V:((L)&&(L)[0])?gsMissing:gsEmpty
 

Typedefs

typedef enum tagInchiDiffBits IDIF
 
typedef struct tagInChICompareResults ICR
 
typedef enum tagDiffINChISegments DIF_SEGMENTS
 
typedef enum tagDiffINChILayers DIF_LAYERS
 
typedef enum tagMarkDiff DIF_VALUES
 
typedef enum tagINChISegmAction INCHI_SEGM_ACTION
 
typedef struct subgraf_edge subgraf_edge
 
typedef struct subgraf subgraf
 
typedef struct subgraf_pathfinder subgraf_pathfinder
 

Enumerations

enum  tagInchiDiffBits {
  IDIF_PROBLEM = 0x00000001 , IDIF_NUM_AT = 0x00000001 , IDIF_ATOMS = 0x00000001 , IDIF_NUM_EL = 0x00000001 ,
  IDIF_CON_LEN = 0x00000001 , IDIF_CON_TBL = 0x00000001 , IDIF_POSITION_H = 0x00000002 , IDIF_MORE_FH = 0x00000004 ,
  IDIF_LESS_FH = 0x00000008 , IDIF_MORE_H = 0x00000010 , IDIF_LESS_H = 0x00000020 , IDIF_NO_TAUT = 0x00000040 ,
  IDIF_WRONG_TAUT = 0x00000080 , IDIF_SINGLE_TG = 0x00000100 , IDIF_MULTIPLE_TG = 0x00000200 , IDIF_NUM_TG = 0x00000400 ,
  IDIF_EXTRA_TG_ENDP = 0x00000800 , IDIF_MISS_TG_ENDP = 0x00001000 , IDIF_DIFF_TG_ENDP = 0x00002000 , IDIF_TG = 0x00004000 ,
  IDIF_NUM_ISO_AT = 0x00008000 , IDIF_ISO_AT = 0x00010000 , IDIF_CHARGE = 0x00020000 , IDIF_REM_PROT = 0x00040000 ,
  IDIF_REM_ISO_H = 0x00080000 , IDIF_SC_INV = 0x00100000 , IDIF_SC_PARITY = 0x00200000 , IDIF_SC_EXTRA_UNDF = 0x00400000 ,
  IDIF_SC_EXTRA = 0x00800000 , IDIF_SC_MISS_UNDF = 0x01000000 , IDIF_SC_MISS = 0x02000000 , IDIF_SB_PARITY = 0x04000000 ,
  IDIF_SB_EXTRA_UNDF = 0x08000000 , IDIF_SB_EXTRA = 0x10000000 , IDIF_SB_MISS_UNDF = 0x20000000 , IDIF_SB_MISS = 0x40000000
}
 
enum  tagDiffINChISegments {
  DIFS_f_FORMULA , DIFS_c_CONNECT , DIFS_h_H_ATOMS , DIFS_q_CHARGE ,
  DIFS_p_PROTONS , DIFS_b_SBONDS , DIFS_t_SATOMS , DIFS_m_SP3INV ,
  DIFS_s_STYPE , DIFS_i_IATOMS , DIFS_o_TRANSP , DIFS_idf_LENGTH ,
  DIFS_LENGTH = DIFS_idf_LENGTH
}
 
enum  tagDiffINChILayers {
  DIFL_M , DIFL_MI , DIFL_F , DIFL_FI ,
  DIFL_LENGTH
}
 
enum  tagMarkDiff {
  DIFV_BOTH_EMPTY = 0 , DIFV_EQL2PRECED = 1 , DIFV_NEQ2PRECED = 2 , DIFV_IS_EMPTY = 4 ,
  DIFV_FI_EQ_MI = 8 , DIFV_OUTPUT_EMPTY_T = ( DIFV_IS_EMPTY ) , DIFV_OUTPUT_EMPTY_F = ( DIFV_EQL2PRECED | DIFV_NEQ2PRECED | DIFV_FI_EQ_MI ) , DIFV_OUTPUT_OMIT_F = ( DIFV_NEQ2PRECED | DIFV_IS_EMPTY ) ,
  DIFV_OUTPUT_FILL_T = ( DIFV_EQL2PRECED | DIFV_NEQ2PRECED | DIFV_FI_EQ_MI )
}
 
enum  tagINChISegmAction { INCHI_SEGM_OMIT = 0 , INCHI_SEGM_FILL = 1 , INCHI_SEGM_EMPTY = 2 }
 

Functions

int ExtractConnectedComponent (inp_ATOM *at, int num_at, int component_number, inp_ATOM *component_at)
 
int SetConnectedComponentNumber (inp_ATOM *at, int num_at, int component_number)
 
INChIAlloc_INChI (inp_ATOM *at, int num_at, int *found_num_bonds, int *found_num_isotopic, int nAllocMode)
 
int Free_INChI (INChI **ppINChI)
 
int Free_INChI_Members (INChI *pINChI)
 
int Free_INChI_Stereo (INChI_Stereo *pINChI_Stereo)
 
INChI_AuxAlloc_INChI_Aux (int num_at, int num_isotopic_atoms, int nAllocMode, int bOrigData)
 
int Free_INChI_Aux (INChI_Aux **ppINChI_Aux)
 
int Create_INChI (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, INPUT_PARMS *ip, INChI **ppINChI, INChI_Aux **ppINChI_Aux, ORIG_ATOM_DATA *orig_inp_data, inp_ATOM *inp_at, INP_ATOM_DATA *inp_norm_data[2], int num_inp_at, INCHI_MODE nUserMode, INCHI_MODE *pbTautFlags, INCHI_MODE *pbTautFlagsDone, struct tagInchiTime *ulMaxTime, struct tagTautomerGroupsInfo *ti_out, char *pStrErrStruct)
 
int FillOutInfAtom (struct tagCANON_GLOBALS *pCG, inp_ATOM *norm_at, INF_ATOM_DATA *inf_norm_at_data, int init_num_at, int num_removed_H, int bAdd_DT_to_num_H, int nNumRemovedProtons, NUM_H *nNumRemovedProtonsIsotopic, int bIsotopic, INChI *pINChI, INChI_Aux *pINChI_Aux, int bAbcNumbers, INCHI_MODE nMode)
 
int FillOutCompositeCanonInfAtom (struct tagCANON_GLOBALS *pCG, COMP_ATOM_DATA *composite_norm_data, INF_ATOM_DATA *inf_norm_at_data, int bIsotopic, int bTautomeric, PINChI2 *pINChI2, PINChI_Aux2 *pINChI_Aux2, int bAbcNumbers, INCHI_MODE nMode)
 
char * AllocateAndFillHillFormula (INChI *pINChI)
 
INCHI_MODE CompareReversedINChI2 (INChI *i1, INChI *i2, INChI_Aux *a1, INChI_Aux *a2, ICR *picr, int *err)
 
int CompareIcr (ICR *picr1, ICR *picr2, INCHI_MODE *pin1, INCHI_MODE *pin2, INCHI_MODE mask)
 
int CompareReversedINChI (INChI *i1, INChI *i2, INChI_Aux *a1, INChI_Aux *a2)
 
const char * CompareReversedInchiMsg (int code)
 
int Eql_INChI_Stereo (INChI_Stereo *s1, int eql1, INChI_Stereo *s2, int eql2, int bRelRac)
 
int Eql_INChI_Isotopic (INChI *i1, INChI *i2)
 
int Eql_INChI_Aux_Equ (INChI_Aux *a1, int eql1, INChI_Aux *a2, int eql2)
 
int Eql_INChI_Aux_Num (INChI_Aux *a1, int eql1, INChI_Aux *a2, int eql2)
 
int bHasEquString (AT_NUMB *LinearCT, int nLenCT)
 
int CompINChINonTaut2 (const void *p1, const void *p2)
 
int CompINChITaut2 (const void *p1, const void *p2)
 
int CompINChI2 (const INCHI_SORT *p1, const INCHI_SORT *p2, int bTaut, int bCompareIsotopic)
 
int CompINChITautVsNonTaut (const INCHI_SORT *p1, const INCHI_SORT *p2, int bCompareIsotopic)
 
int CompINChILayers (const INCHI_SORT *p1, const INCHI_SORT *p2, char sDifSegs[][DIFS_LENGTH], int bFixTranspChargeBug)
 
int MarkUnusedAndEmptyLayers (char sDifSegs[][DIFS_LENGTH])
 
int INChI_SegmentAction (char cDifSegs)
 
int OutputINChI1 (struct tagCANON_GLOBALS *pCG, INCHI_IOS_STRING *strbuf, INCHI_SORT *pINChISortTautAndNonTaut2[][TAUT_NUM], int iINChI, ORIG_ATOM_DATA *orig_inp_data, ORIG_STRUCT *pOrigStruct, INPUT_PARMS *ip, int bDisconnectedCoord, int bOutputType, int bINChIOutputOptions, int num_components2[], int num_non_taut2[], int num_taut2[], INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *log_file, int num_input_struct, int *pSortPrintINChIFlags, unsigned char save_opt_bits)
 
int OutputINChI2 (struct tagCANON_GLOBALS *pCG, INCHI_IOS_STRING *strbuf, INCHI_SORT *pINChISortTautAndNonTaut2[][TAUT_NUM], int INCHI_basic_or_INCHI_reconnected, ORIG_ATOM_DATA *orig_inp_data, ORIG_STRUCT *pOrigStruct, INPUT_PARMS *ip, int bDisconnectedCoord, int bOutputType, int bINChIOutputOptions, int num_components2[], int num_non_taut2[], int num_taut2[], INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *log_file, int num_input_struct, int *pSortPrintINChIFlags, unsigned char save_opt_bits)
 
int SaveEquComponentsInfoAndSortOrder (int iINChI, INCHI_SORT *pINChISort[TAUT_NUM], int *num_components, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, COMP_ATOM_DATA composite_norm_data[TAUT_NUM+1], int bCompareComponents)
 
int OutputINChIPlainError (INCHI_IOSTREAM *out_file, char *pErrorText, int bError)
 
int GetInpStructErrorType (INPUT_PARMS *ip, int err, char *pStrErrStruct, int num_inp_atoms)
 
int ProcessStructError (INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *log_file, char *pStrErrStruct, int nErrorType, long num_inp, INPUT_PARMS *ip)
 
int bNumHeterAtomHasIsotopicH (inp_ATOM *atom, int num_atoms)
 
int WriteToSDfile (const INP_ATOM_DATA *inp_at_data, INCHI_IOSTREAM *fcb, const char *name, const char *comment, const char *szLabel, const char *szValue)
 
int bIsMetalSalt (inp_ATOM *at, int i)
 
int bIsSameBond (int a1, int a2, int b1, int b2)
 
int imat_new (int m, int n, int ***a)
 
void imat_free (int m, int **a)
 
subgrafsubgraf_new (ORIG_ATOM_DATA *orig_inp_data, int nnodes, int *nodes)
 
void subgraf_free (subgraf *sg)
 
void subgraf_debug_trace (subgraf *sg)
 
subgraf_pathfindersubgraf_pathfinder_new (subgraf *sg, ORIG_ATOM_DATA *orig_inp_data, int start, int end)
 
void subgraf_pathfinder_free (subgraf_pathfinder *spf)
 
void subgraf_pathfinder_run (subgraf_pathfinder *spf, int nforbidden, int *forbidden_orig, int *nbonds, int **bonds, int *natoms, int *atoms)
 
int subgraf_pathfinder_collect_all (subgraf_pathfinder *spf, int nforbidden, int *forbidden, int *atnums)
 
void CompAtomData_GetNumMapping (COMP_ATOM_DATA *adata, int *orig_num, int *curr_num)
 

Variables

const char gsMissing []
 
const char gsEmpty []
 
const char gsSpace []
 
const char gsEqual []
 

Macro Definition Documentation

◆ EQL_EQU

#define EQL_EQU   0

◆ EQL_EQU_ISO

#define EQL_EQU_ISO   2

◆ EQL_EQU_TG

#define EQL_EQU_TG   1

◆ EQL_EXISTS

#define EQL_EXISTS   1

◆ EQL_NUM

#define EQL_NUM   0

◆ EQL_NUM_INV

#define EQL_NUM_INV   1

◆ EQL_NUM_ISO

#define EQL_NUM_ISO   2

◆ EQL_SP2

#define EQL_SP2   8

◆ EQL_SP3

#define EQL_SP3   2

◆ EQL_SP3_INV

#define EQL_SP3_INV   4

◆ FLAG_SORT_PRINT_NO_IFIX_H_BAS

#define FLAG_SORT_PRINT_NO_IFIX_H_BAS   16 /* no fixed H isotopic in the main InChI layer */

◆ FLAG_SORT_PRINT_NO_IFIX_H_REC

#define FLAG_SORT_PRINT_NO_IFIX_H_REC   32 /* no fixed H isotopic in the the reconnected InChI layer */

◆ FLAG_SORT_PRINT_NO_NFIX_H_BAS

#define FLAG_SORT_PRINT_NO_NFIX_H_BAS   4 /* no fixed H non-isotopic in the main InChI layer */

◆ FLAG_SORT_PRINT_NO_NFIX_H_REC

#define FLAG_SORT_PRINT_NO_NFIX_H_REC   8 /* no fixed H non-isotopic in the reconnected InChI layer */

◆ FLAG_SORT_PRINT_ReChI_PREFIX

#define FLAG_SORT_PRINT_ReChI_PREFIX   64 /* Output ReChI instead of InChI */

◆ FLAG_SORT_PRINT_TRANSPOS_BAS

#define FLAG_SORT_PRINT_TRANSPOS_BAS   1 /* transposition in the main InChI layer */

◆ FLAG_SORT_PRINT_TRANSPOS_REC

#define FLAG_SORT_PRINT_TRANSPOS_REC   2 /* transposition in the reconnected InChI layer */

◆ ICR_MAX_DIFF_FIXED_H

#define ICR_MAX_DIFF_FIXED_H   32

◆ ICR_MAX_ENDP_IN1_ONLY

#define ICR_MAX_ENDP_IN1_ONLY   32

◆ ICR_MAX_ENDP_IN2_ONLY

#define ICR_MAX_ENDP_IN2_ONLY   32

◆ ICR_MAX_SB_IN1_ONLY

#define ICR_MAX_SB_IN1_ONLY   32

◆ ICR_MAX_SB_IN2_ONLY

#define ICR_MAX_SB_IN2_ONLY   32

◆ ICR_MAX_SB_UNDF

#define ICR_MAX_SB_UNDF   32

◆ ICR_MAX_SC_IN1_ONLY

#define ICR_MAX_SC_IN1_ONLY   32

◆ ICR_MAX_SC_IN2_ONLY

#define ICR_MAX_SC_IN2_ONLY   32

◆ ICR_MAX_SC_UNDF

#define ICR_MAX_SC_UNDF   32

◆ IDIFF_CONSTIT

#define IDIFF_CONSTIT
Value:
@ IDIF_MULTIPLE_TG
Definition strutil.h:137
@ IDIF_REM_ISO_H
Definition strutil.h:149
@ IDIF_NUM_ISO_AT
Definition strutil.h:145
@ IDIF_REM_PROT
Definition strutil.h:148
@ IDIF_POSITION_H
Definition strutil.h:128
@ IDIF_MISS_TG_ENDP
Definition strutil.h:142
@ IDIF_TG
Definition strutil.h:144
@ IDIF_SINGLE_TG
Definition strutil.h:136
@ IDIF_MORE_FH
Definition strutil.h:129
@ IDIF_ISO_AT
Definition strutil.h:146
@ IDIF_EXTRA_TG_ENDP
Definition strutil.h:141
@ IDIF_LESS_H
Definition strutil.h:132
@ IDIF_DIFF_TG_ENDP
Definition strutil.h:143
@ IDIF_CHARGE
Definition strutil.h:147
@ IDIF_LESS_FH
Definition strutil.h:130
@ IDIF_NO_TAUT
Definition strutil.h:134
@ IDIF_WRONG_TAUT
Definition strutil.h:135
@ IDIF_NUM_TG
Definition strutil.h:138
@ IDIF_MORE_H
Definition strutil.h:131

◆ IDIFF_SB

◆ IDIFF_SC

◆ IDIFF_STEREO

#define IDIFF_STEREO
Value:
@ IDIF_SC_EXTRA_UNDF
Definition strutil.h:152
@ IDIF_SB_MISS_UNDF
Definition strutil.h:159
@ IDIF_SB_MISS
Definition strutil.h:160
@ IDIF_SC_INV
Definition strutil.h:150
@ IDIF_SC_PARITY
Definition strutil.h:151
@ IDIF_SB_EXTRA
Definition strutil.h:158
@ IDIF_SB_EXTRA_UNDF
Definition strutil.h:157
@ IDIF_SC_MISS
Definition strutil.h:155
@ IDIF_SC_EXTRA
Definition strutil.h:153
@ IDIF_SB_PARITY
Definition strutil.h:156
@ IDIF_SC_MISS_UNDF
Definition strutil.h:154

◆ SDF_LBL_VAL

#define SDF_LBL_VAL (   L,
 
)    ((L)&&(L)[0])?gsSpace:gsEmpty, ((L)&&(L)[0])?L:gsEmpty, ((L)&&(L)[0])? (((V)&&(V)[0])?gsEqual:gsSpace):gsEmpty, ((V)&&(V)[0])?V:((L)&&(L)[0])?gsMissing:gsEmpty

Typedef Documentation

◆ DIF_LAYERS

◆ DIF_SEGMENTS

◆ DIF_VALUES

typedef enum tagMarkDiff DIF_VALUES

◆ ICR

typedef struct tagInChICompareResults ICR

◆ IDIF

typedef enum tagInchiDiffBits IDIF

◆ INCHI_SEGM_ACTION

◆ subgraf

typedef struct subgraf subgraf

◆ subgraf_edge

typedef struct subgraf_edge subgraf_edge

◆ subgraf_pathfinder

Enumeration Type Documentation

◆ tagDiffINChILayers

Enumerator
DIFL_M 
DIFL_MI 
DIFL_F 
DIFL_FI 
DIFL_LENGTH 

◆ tagDiffINChISegments

Enumerator
DIFS_f_FORMULA 
DIFS_c_CONNECT 
DIFS_h_H_ATOMS 
DIFS_q_CHARGE 
DIFS_p_PROTONS 
DIFS_b_SBONDS 
DIFS_t_SATOMS 
DIFS_m_SP3INV 
DIFS_s_STYPE 
DIFS_i_IATOMS 
DIFS_o_TRANSP 
DIFS_idf_LENGTH 
DIFS_LENGTH 

◆ tagInchiDiffBits

Enumerator
IDIF_PROBLEM 
IDIF_NUM_AT 
IDIF_ATOMS 
IDIF_NUM_EL 
IDIF_CON_LEN 
IDIF_CON_TBL 
IDIF_POSITION_H 
IDIF_MORE_FH 
IDIF_LESS_FH 
IDIF_MORE_H 
IDIF_LESS_H 
IDIF_NO_TAUT 
IDIF_WRONG_TAUT 
IDIF_SINGLE_TG 
IDIF_MULTIPLE_TG 
IDIF_NUM_TG 
IDIF_EXTRA_TG_ENDP 
IDIF_MISS_TG_ENDP 
IDIF_DIFF_TG_ENDP 
IDIF_TG 
IDIF_NUM_ISO_AT 
IDIF_ISO_AT 
IDIF_CHARGE 
IDIF_REM_PROT 
IDIF_REM_ISO_H 
IDIF_SC_INV 
IDIF_SC_PARITY 
IDIF_SC_EXTRA_UNDF 
IDIF_SC_EXTRA 
IDIF_SC_MISS_UNDF 
IDIF_SC_MISS 
IDIF_SB_PARITY 
IDIF_SB_EXTRA_UNDF 
IDIF_SB_EXTRA 
IDIF_SB_MISS_UNDF 
IDIF_SB_MISS 

◆ tagINChISegmAction

Enumerator
INCHI_SEGM_OMIT 
INCHI_SEGM_FILL 
INCHI_SEGM_EMPTY 

◆ tagMarkDiff

Enumerator
DIFV_BOTH_EMPTY 
DIFV_EQL2PRECED 
DIFV_NEQ2PRECED 
DIFV_IS_EMPTY 
DIFV_FI_EQ_MI 
DIFV_OUTPUT_EMPTY_T 
DIFV_OUTPUT_EMPTY_F 
DIFV_OUTPUT_OMIT_F 
DIFV_OUTPUT_FILL_T 

Function Documentation

◆ Alloc_INChI()

INChI * Alloc_INChI ( inp_ATOM at,
int  num_at,
int *  found_num_bonds,
int *  found_num_isotopic,
int  nAllocMode 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Alloc_INChI_Aux()

INChI_Aux * Alloc_INChI_Aux ( int  num_at,
int  num_isotopic_atoms,
int  nAllocMode,
int  bOrigData 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AllocateAndFillHillFormula()

char * AllocateAndFillHillFormula ( INChI pINChI)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bHasEquString()

int bHasEquString ( AT_NUMB LinearCT,
int  nLenCT 
)
+ Here is the caller graph for this function:

◆ bIsMetalSalt()

int bIsMetalSalt ( inp_ATOM at,
int  i 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bIsSameBond()

int bIsSameBond ( int  a1,
int  a2,
int  b1,
int  b2 
)
+ Here is the caller graph for this function:

◆ bNumHeterAtomHasIsotopicH()

int bNumHeterAtomHasIsotopicH ( inp_ATOM atom,
int  num_atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompareIcr()

int CompareIcr ( ICR picr1,
ICR picr2,
INCHI_MODE pin1,
INCHI_MODE pin2,
INCHI_MODE  mask 
)
+ Here is the caller graph for this function:

◆ CompareReversedINChI()

int CompareReversedINChI ( INChI i1,
INChI i2,
INChI_Aux a1,
INChI_Aux a2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompareReversedINChI2()

INCHI_MODE CompareReversedINChI2 ( INChI i1,
INChI i2,
INChI_Aux a1,
INChI_Aux a2,
ICR picr,
int *  err 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompareReversedInchiMsg()

const char * CompareReversedInchiMsg ( int  code)

◆ CompAtomData_GetNumMapping()

void CompAtomData_GetNumMapping ( COMP_ATOM_DATA adata,
int *  orig_num,
int *  curr_num 
)
+ Here is the caller graph for this function:

◆ CompINChI2()

int CompINChI2 ( const INCHI_SORT p1,
const INCHI_SORT p2,
int  bTaut,
int  bCompareIsotopic 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompINChILayers()

int CompINChILayers ( const INCHI_SORT p1,
const INCHI_SORT p2,
char  sDifSegs[][DIFS_LENGTH],
int  bFixTranspChargeBug 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompINChINonTaut2()

int CompINChINonTaut2 ( const void *  p1,
const void *  p2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompINChITaut2()

int CompINChITaut2 ( const void *  p1,
const void *  p2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompINChITautVsNonTaut()

int CompINChITautVsNonTaut ( const INCHI_SORT p1,
const INCHI_SORT p2,
int  bCompareIsotopic 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Create_INChI()

int Create_INChI ( struct tagCANON_GLOBALS pCG,
struct tagINCHI_CLOCK ic,
INPUT_PARMS ip,
INChI **  ppINChI,
INChI_Aux **  ppINChI_Aux,
ORIG_ATOM_DATA orig_inp_data,
inp_ATOM inp_at,
INP_ATOM_DATA inp_norm_data[2],
int  num_inp_at,
INCHI_MODE  nUserMode,
INCHI_MODE pbTautFlags,
INCHI_MODE pbTautFlagsDone,
struct tagInchiTime ulMaxTime,
struct tagTautomerGroupsInfo ti_out,
char *  pStrErrStruct 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Eql_INChI_Aux_Equ()

int Eql_INChI_Aux_Equ ( INChI_Aux a1,
int  eql1,
INChI_Aux a2,
int  eql2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Eql_INChI_Aux_Num()

int Eql_INChI_Aux_Num ( INChI_Aux a1,
int  eql1,
INChI_Aux a2,
int  eql2 
)
+ Here is the caller graph for this function:

◆ Eql_INChI_Isotopic()

int Eql_INChI_Isotopic ( INChI i1,
INChI i2 
)
+ Here is the caller graph for this function:

◆ Eql_INChI_Stereo()

int Eql_INChI_Stereo ( INChI_Stereo s1,
int  eql1,
INChI_Stereo s2,
int  eql2,
int  bRelRac 
)
+ Here is the caller graph for this function:

◆ ExtractConnectedComponent()

int ExtractConnectedComponent ( inp_ATOM at,
int  num_at,
int  component_number,
inp_ATOM component_at 
)

◆ FillOutCompositeCanonInfAtom()

int FillOutCompositeCanonInfAtom ( struct tagCANON_GLOBALS pCG,
COMP_ATOM_DATA composite_norm_data,
INF_ATOM_DATA inf_norm_at_data,
int  bIsotopic,
int  bTautomeric,
PINChI2 pINChI2,
PINChI_Aux2 pINChI_Aux2,
int  bAbcNumbers,
INCHI_MODE  nMode 
)

◆ FillOutInfAtom()

int FillOutInfAtom ( struct tagCANON_GLOBALS pCG,
inp_ATOM norm_at,
INF_ATOM_DATA inf_norm_at_data,
int  init_num_at,
int  num_removed_H,
int  bAdd_DT_to_num_H,
int  nNumRemovedProtons,
NUM_H nNumRemovedProtonsIsotopic,
int  bIsotopic,
INChI pINChI,
INChI_Aux pINChI_Aux,
int  bAbcNumbers,
INCHI_MODE  nMode 
)

◆ Free_INChI()

int Free_INChI ( INChI **  ppINChI)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Free_INChI_Aux()

int Free_INChI_Aux ( INChI_Aux **  ppINChI_Aux)
+ Here is the caller graph for this function:

◆ Free_INChI_Members()

int Free_INChI_Members ( INChI pINChI)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Free_INChI_Stereo()

int Free_INChI_Stereo ( INChI_Stereo pINChI_Stereo)
+ Here is the caller graph for this function:

◆ GetInpStructErrorType()

int GetInpStructErrorType ( INPUT_PARMS ip,
int  err,
char *  pStrErrStruct,
int  num_inp_atoms 
)
+ Here is the caller graph for this function:

◆ imat_free()

void imat_free ( int  m,
int **  a 
)
+ Here is the caller graph for this function:

◆ imat_new()

int imat_new ( int  m,
int  n,
int ***  a 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ INChI_SegmentAction()

int INChI_SegmentAction ( char  cDifSegs)
+ Here is the caller graph for this function:

◆ MarkUnusedAndEmptyLayers()

int MarkUnusedAndEmptyLayers ( char  sDifSegs[][DIFS_LENGTH])
+ Here is the caller graph for this function:

◆ OutputINChI1()

int OutputINChI1 ( struct tagCANON_GLOBALS pCG,
INCHI_IOS_STRING strbuf,
INCHI_SORT pINChISortTautAndNonTaut2[][TAUT_NUM],
int  iINChI,
ORIG_ATOM_DATA orig_inp_data,
ORIG_STRUCT pOrigStruct,
INPUT_PARMS ip,
int  bDisconnectedCoord,
int  bOutputType,
int  bINChIOutputOptions,
int  num_components2[],
int  num_non_taut2[],
int  num_taut2[],
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM log_file,
int  num_input_struct,
int *  pSortPrintINChIFlags,
unsigned char  save_opt_bits 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OutputINChI2()

int OutputINChI2 ( struct tagCANON_GLOBALS pCG,
INCHI_IOS_STRING strbuf,
INCHI_SORT pINChISortTautAndNonTaut2[][TAUT_NUM],
int  INCHI_basic_or_INCHI_reconnected,
ORIG_ATOM_DATA orig_inp_data,
ORIG_STRUCT pOrigStruct,
INPUT_PARMS ip,
int  bDisconnectedCoord,
int  bOutputType,
int  bINChIOutputOptions,
int  num_components2[],
int  num_non_taut2[],
int  num_taut2[],
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM log_file,
int  num_input_struct,
int *  pSortPrintINChIFlags,
unsigned char  save_opt_bits 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OutputINChIPlainError()

int OutputINChIPlainError ( INCHI_IOSTREAM out_file,
char *  pErrorText,
int  bError 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessStructError()

int ProcessStructError ( INCHI_IOSTREAM out_file,
INCHI_IOSTREAM log_file,
char *  pStrErrStruct,
int  nErrorType,
long  num_inp,
INPUT_PARMS ip 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SaveEquComponentsInfoAndSortOrder()

int SaveEquComponentsInfoAndSortOrder ( int  iINChI,
INCHI_SORT pINChISort[TAUT_NUM],
int *  num_components,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
COMP_ATOM_DATA  composite_norm_data[TAUT_NUM+1],
int  bCompareComponents 
)
+ Here is the caller graph for this function:

◆ SetConnectedComponentNumber()

int SetConnectedComponentNumber ( inp_ATOM at,
int  num_at,
int  component_number 
)
+ Here is the caller graph for this function:

◆ subgraf_debug_trace()

void subgraf_debug_trace ( subgraf sg)

◆ subgraf_free()

void subgraf_free ( subgraf sg)
+ Here is the caller graph for this function:

◆ subgraf_new()

subgraf * subgraf_new ( ORIG_ATOM_DATA orig_inp_data,
int  nnodes,
int *  nodes 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ subgraf_pathfinder_collect_all()

int subgraf_pathfinder_collect_all ( subgraf_pathfinder spf,
int  nforbidden,
int *  forbidden,
int *  atnums 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ subgraf_pathfinder_free()

void subgraf_pathfinder_free ( subgraf_pathfinder spf)
+ Here is the caller graph for this function:

◆ subgraf_pathfinder_new()

subgraf_pathfinder * subgraf_pathfinder_new ( subgraf sg,
ORIG_ATOM_DATA orig_inp_data,
int  start,
int  end 
)
+ Here is the caller graph for this function:

◆ subgraf_pathfinder_run()

void subgraf_pathfinder_run ( subgraf_pathfinder spf,
int  nforbidden,
int *  forbidden_orig,
int *  nbonds,
int **  bonds,
int *  natoms,
int *  atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteToSDfile()

int WriteToSDfile ( const INP_ATOM_DATA inp_at_data,
INCHI_IOSTREAM fcb,
const char *  name,
const char *  comment,
const char *  szLabel,
const char *  szValue 
)

Variable Documentation

◆ gsEmpty

const char gsEmpty[]
extern

◆ gsEqual

const char gsEqual[]
extern

◆ gsMissing

const char gsMissing[]
extern

◆ gsSpace

const char gsSpace[]
extern