InChI
 
Loading...
Searching...
No Matches
ichimake.c File Reference
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <locale.h>
#include "mode.h"
#include "ichimake.h"
#include "inchi_api.h"
#include "ichimain.h"
#include "ichister.h"
#include "ichi_io.h"
#include "ichitime.h"
#include "ichi_bns.h"
#include "bcf_s.h"
+ Include dependency graph for ichimake.c:

Data Structures

struct  tagOrderStruct
 

Macros

#define nFirstFmlSegm   DIFS_f_FORMULA
 
#define nFirstIsoSegm   DIFS_i_IATOMS
 

Typedefs

typedef enum tagSp3StereoTypeTmp SP3_TYPE_TMP
 
typedef struct tagOrderStruct OrderStruct
 

Enumerations

enum  tagSp3StereoTypeTmp {
  SP3_NONE = 0 , SP3_ONLY = 1 , SP3_ABS = 2 , SP3_REL = 4 ,
  SP3_RAC = 8 , SP3_TYPE = ( SP3_ABS | SP3_REL | SP3_RAC ) , SP3_ANY = ( SP3_ABS | SP3_REL | SP3_RAC | SP3_ONLY )
}
 

Functions

int inp2spATOM (inp_ATOM *inp_at, int num_inp_at, sp_ATOM *at)
 
int GetElementAndCount (const char **f, char *szEl, int *count)
 
int CompareHillFormulas (const char *f1, const char *f2)
 
int CompareInchiStereo (INChI_Stereo *Stereo1, INCHI_MODE nFlags1, INChI_Stereo *Stereo2, INCHI_MODE nFlags2)
 
int CompareReversedStereoINChI (INChI_Stereo *s1, INChI_Stereo *s2)
 
int GetAtomOrdNbrInCanonOrd (struct tagCANON_GLOBALS *pCG, inp_ATOM *norm_at, AT_NUMB *nAtomOrdNbr, AT_NUMB *nOrigAtNosInCanonOrd, int num_at)
 
int FillOutCanonInfAtom (struct tagCANON_GLOBALS *pCG, inp_ATOM *norm_at, INF_ATOM_DATA *inf_norm_at_data, int init_num_at, int bIsotopic, INChI *pINChI, INChI_Aux *pINChI_Aux, int bAbcNumbers, INCHI_MODE nMode)
 
int FillOutOneCanonInfAtom (struct tagCANON_GLOBALS *pCG, inp_ATOM *inp_norm_at, INF_ATOM_DATA *inf_norm_at_data, AT_NUMB *pStereoFlags, int init_num_at, int offset, int offset_H, int bIsotopic, INChI *pINChI, INChI_Aux *pINChI_Aux, int bAbcNumbers, INCHI_MODE nMode)
 
int FillOutInputInfAtom (inp_ATOM *inp_at, INF_ATOM_DATA *inf_at_data, int init_num_at, int num_removed_H, int bAdd_DT_to_num_H, int nNumRemovedProtons, NUM_H *nNumRemovedProtonsIsotopic, int bIsotopic, int bAbcNumbers)
 
int CheckCanonNumberingCorrectness (int num_atoms, int num_at_tg, sp_ATOM *at, CANON_STAT *pCS, CANON_GLOBALS *pCG, int bTautomeric, char *pStrErrStruct)
 
static int CompareDfsDescendants4CT (const void *a1, const void *a2, void *)
 
int GetSp3RelRacAbs (const INChI *pINChI, INChI_Stereo *Stereo)
 
int CompareReversedStereoINChI2 (INChI_Stereo *s1, INChI_Stereo *s2, ICR *picr)
 
int CompareHillFormulasNoH (const char *f1, const char *f2, int *num_H1, int *num_H2)
 
int CompareTautNonIsoPartOfINChI (const INChI *i1, const INChI *i2)
 
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 INChI_SegmentAction (char cDifSegs)
 
int MarkUnusedAndEmptyLayers (char sDifSegs[][DIFS_LENGTH])
 
int CompINChI2 (const INCHI_SORT *p1, const INCHI_SORT *p2, int bTaut, int bCompareIsotopic)
 
int CompINChINonTaut2 (const void *p1, const void *p2)
 
int CompINChITaut2 (const void *p1, const void *p2)
 
void mystrrev (char *p)
 
AT_NUMBGetDfsOrder4CT (CANON_GLOBALS *pCG, AT_NUMB *LinearCT, int nLenCT, S_CHAR *nNum_H, int num_atoms, int nCtMode)
 
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 CompareReversedINChI (INChI *i1, INChI *i2, INChI_Aux *a1, INChI_Aux *a2)
 
int CompareIcr (ICR *picr1, ICR *picr2, INCHI_MODE *pin1, INCHI_MODE *pin2, INCHI_MODE mask)
 
INCHI_MODE CompareReversedINChI2 (INChI *i1, INChI *i2, INChI_Aux *a1, INChI_Aux *a2, ICR *picr, int *err)
 
int Create_INChI (CANON_GLOBALS *pCG, INCHI_CLOCK *ic, INPUT_PARMS *ip, INChI **ppINChI, INChI_Aux **ppINChI_Aux, ORIG_ATOM_DATA *orig_inp_data, inp_ATOM *inp_at, INP_ATOM_DATA *out_norm_data[2], int num_inp_at, INCHI_MODE nUserMode, INCHI_MODE *pbTautFlags, INCHI_MODE *pbTautFlagsDone, struct tagInchiTime *ulMaxTime, T_GROUP_INFO *ti_out, char *pStrErrStruct)
 

Macro Definition Documentation

◆ nFirstFmlSegm

#define nFirstFmlSegm   DIFS_f_FORMULA

◆ nFirstIsoSegm

#define nFirstIsoSegm   DIFS_i_IATOMS

Typedef Documentation

◆ OrderStruct

typedef struct tagOrderStruct OrderStruct

◆ SP3_TYPE_TMP

Enumeration Type Documentation

◆ tagSp3StereoTypeTmp

Enumerator
SP3_NONE 
SP3_ONLY 
SP3_ABS 
SP3_REL 
SP3_RAC 
SP3_TYPE 
SP3_ANY 

Function Documentation

◆ CheckCanonNumberingCorrectness()

int CheckCanonNumberingCorrectness ( int  num_atoms,
int  num_at_tg,
sp_ATOM at,
CANON_STAT pCS,
CANON_GLOBALS pCG,
int  bTautomeric,
char *  pStrErrStruct 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompareDfsDescendants4CT()

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

◆ CompareHillFormulas()

int CompareHillFormulas ( const char *  f1,
const char *  f2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CompareHillFormulasNoH()

int CompareHillFormulasNoH ( const char *  f1,
const char *  f2,
int *  num_H1,
int *  num_H2 
)
+ 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:

◆ CompareInchiStereo()

int CompareInchiStereo ( INChI_Stereo Stereo1,
INCHI_MODE  nFlags1,
INChI_Stereo Stereo2,
INCHI_MODE  nFlags2 
)
+ 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:

◆ CompareReversedStereoINChI()

int CompareReversedStereoINChI ( INChI_Stereo s1,
INChI_Stereo s2 
)
+ Here is the caller graph for this function:

◆ CompareReversedStereoINChI2()

int CompareReversedStereoINChI2 ( INChI_Stereo s1,
INChI_Stereo s2,
ICR picr 
)
+ Here is the caller graph for this function:

◆ CompareTautNonIsoPartOfINChI()

int CompareTautNonIsoPartOfINChI ( const INChI i1,
const INChI i2 
)
+ Here is the call graph for this function:
+ 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 ( CANON_GLOBALS pCG,
INCHI_CLOCK ic,
INPUT_PARMS ip,
INChI **  ppINChI,
INChI_Aux **  ppINChI_Aux,
ORIG_ATOM_DATA orig_inp_data,
inp_ATOM inp_at,
INP_ATOM_DATA out_norm_data[2],
int  num_inp_at,
INCHI_MODE  nUserMode,
INCHI_MODE pbTautFlags,
INCHI_MODE pbTautFlagsDone,
struct tagInchiTime ulMaxTime,
T_GROUP_INFO ti_out,
char *  pStrErrStruct 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FillOutCanonInfAtom()

int FillOutCanonInfAtom ( struct tagCANON_GLOBALS pCG,
inp_ATOM norm_at,
INF_ATOM_DATA inf_norm_at_data,
int  init_num_at,
int  bIsotopic,
INChI pINChI,
INChI_Aux pINChI_Aux,
int  bAbcNumbers,
INCHI_MODE  nMode 
)

◆ FillOutInputInfAtom()

int FillOutInputInfAtom ( inp_ATOM inp_at,
INF_ATOM_DATA inf_at_data,
int  init_num_at,
int  num_removed_H,
int  bAdd_DT_to_num_H,
int  nNumRemovedProtons,
NUM_H nNumRemovedProtonsIsotopic,
int  bIsotopic,
int  bAbcNumbers 
)

◆ FillOutOneCanonInfAtom()

int FillOutOneCanonInfAtom ( struct tagCANON_GLOBALS pCG,
inp_ATOM inp_norm_at,
INF_ATOM_DATA inf_norm_at_data,
AT_NUMB pStereoFlags,
int  init_num_at,
int  offset,
int  offset_H,
int  bIsotopic,
INChI pINChI,
INChI_Aux pINChI_Aux,
int  bAbcNumbers,
INCHI_MODE  nMode 
)

◆ GetAtomOrdNbrInCanonOrd()

int GetAtomOrdNbrInCanonOrd ( struct tagCANON_GLOBALS pCG,
inp_ATOM norm_at,
AT_NUMB nAtomOrdNbr,
AT_NUMB nOrigAtNosInCanonOrd,
int  num_at 
)

◆ GetDfsOrder4CT()

AT_NUMB * GetDfsOrder4CT ( CANON_GLOBALS pCG,
AT_NUMB LinearCT,
int  nLenCT,
S_CHAR nNum_H,
int  num_atoms,
int  nCtMode 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetElementAndCount()

int GetElementAndCount ( const char **  f,
char *  szEl,
int *  count 
)
+ 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:

◆ GetSp3RelRacAbs()

int GetSp3RelRacAbs ( const INChI pINChI,
INChI_Stereo Stereo 
)
+ Here is the caller graph for this function:

◆ INChI_SegmentAction()

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

◆ inp2spATOM()

int inp2spATOM ( inp_ATOM inp_at,
int  num_inp_at,
sp_ATOM at 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkUnusedAndEmptyLayers()

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

◆ mystrrev()

void mystrrev ( char *  p)
+ 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: