#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"
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_NUMB * | GetDfsOrder4CT (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) |
#define nFirstFmlSegm DIFS_f_FORMULA |
#define nFirstIsoSegm DIFS_i_IATOMS |
typedef struct tagOrderStruct OrderStruct |
typedef enum tagSp3StereoTypeTmp SP3_TYPE_TMP |
enum tagSp3StereoTypeTmp |
int CheckCanonNumberingCorrectness | ( | int | num_atoms, |
int | num_at_tg, | ||
sp_ATOM * | at, | ||
CANON_STAT * | pCS, | ||
CANON_GLOBALS * | pCG, | ||
int | bTautomeric, | ||
char * | pStrErrStruct | ||
) |
|
static |
int CompareHillFormulas | ( | const char * | f1, |
const char * | f2 | ||
) |
int CompareHillFormulasNoH | ( | const char * | f1, |
const char * | f2, | ||
int * | num_H1, | ||
int * | num_H2 | ||
) |
int CompareIcr | ( | ICR * | picr1, |
ICR * | picr2, | ||
INCHI_MODE * | pin1, | ||
INCHI_MODE * | pin2, | ||
INCHI_MODE | mask | ||
) |
int CompareInchiStereo | ( | INChI_Stereo * | Stereo1, |
INCHI_MODE | nFlags1, | ||
INChI_Stereo * | Stereo2, | ||
INCHI_MODE | nFlags2 | ||
) |
INCHI_MODE CompareReversedINChI2 | ( | INChI * | i1, |
INChI * | i2, | ||
INChI_Aux * | a1, | ||
INChI_Aux * | a2, | ||
ICR * | picr, | ||
int * | err | ||
) |
int CompareReversedStereoINChI | ( | INChI_Stereo * | s1, |
INChI_Stereo * | s2 | ||
) |
int CompareReversedStereoINChI2 | ( | INChI_Stereo * | s1, |
INChI_Stereo * | s2, | ||
ICR * | picr | ||
) |
int CompINChI2 | ( | const INCHI_SORT * | p1, |
const INCHI_SORT * | p2, | ||
int | bTaut, | ||
int | bCompareIsotopic | ||
) |
int CompINChILayers | ( | const INCHI_SORT * | p1, |
const INCHI_SORT * | p2, | ||
char | sDifSegs[][DIFS_LENGTH], | ||
int | bFixTranspChargeBug | ||
) |
int CompINChINonTaut2 | ( | const void * | p1, |
const void * | p2 | ||
) |
int CompINChITaut2 | ( | const void * | p1, |
const void * | p2 | ||
) |
int CompINChITautVsNonTaut | ( | const INCHI_SORT * | p1, |
const INCHI_SORT * | p2, | ||
int | bCompareIsotopic | ||
) |
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 | ||
) |
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 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 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 GetAtomOrdNbrInCanonOrd | ( | struct tagCANON_GLOBALS * | pCG, |
inp_ATOM * | norm_at, | ||
AT_NUMB * | nAtomOrdNbr, | ||
AT_NUMB * | nOrigAtNosInCanonOrd, | ||
int | num_at | ||
) |
AT_NUMB * GetDfsOrder4CT | ( | CANON_GLOBALS * | pCG, |
AT_NUMB * | LinearCT, | ||
int | nLenCT, | ||
S_CHAR * | nNum_H, | ||
int | num_atoms, | ||
int | nCtMode | ||
) |
int GetElementAndCount | ( | const char ** | f, |
char * | szEl, | ||
int * | count | ||
) |
int GetInpStructErrorType | ( | INPUT_PARMS * | ip, |
int | err, | ||
char * | pStrErrStruct, | ||
int | num_inp_atoms | ||
) |
int GetSp3RelRacAbs | ( | const INChI * | pINChI, |
INChI_Stereo * | Stereo | ||
) |
int INChI_SegmentAction | ( | char | cDifSegs | ) |
int MarkUnusedAndEmptyLayers | ( | char | sDifSegs[][DIFS_LENGTH] | ) |
void mystrrev | ( | char * | p | ) |
int ProcessStructError | ( | INCHI_IOSTREAM * | out_file, |
INCHI_IOSTREAM * | log_file, | ||
char * | pStrErrStruct, | ||
int | nErrorType, | ||
long | num_inp, | ||
INPUT_PARMS * | ip | ||
) |