InChI
 
Loading...
Searching...
No Matches
inchi_dll_b.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdarg.h>
#include <errno.h>
#include <limits.h>
#include <float.h>
#include <math.h>
#include "../../../INCHI_BASE/src/mode.h"
#include "../../../INCHI_BASE/src/inchi_api.h"
#include "../../../INCHI_BASE/src/incomdef.h"
#include "../../../INCHI_BASE/src/ichidrp.h"
#include "../../../INCHI_BASE/src/inpdef.h"
#include "../../../INCHI_BASE/src/ichi.h"
#include "../../../INCHI_BASE/src/strutil.h"
#include "../../../INCHI_BASE/src/util.h"
#include "../../../INCHI_BASE/src/ichierr.h"
#include "../../../INCHI_BASE/src/ichimain.h"
#include "../../../INCHI_BASE/src/extr_ct.h"
#include "../../../INCHI_BASE/src/ichi_io.h"
#include "../../../INCHI_BASE/src/ichicomp.h"
#include "../../../INCHI_BASE/src/ichitime.h"
#include "../../../INCHI_BASE/src/ichicant.h"
#include "../../../INCHI_BASE/src/readinch.h"
#include "../../../INCHI_BASE/src/bcf_s.h"
#include "inchi_dll.h"
#include "inchi_dll_b.h"
+ Include dependency graph for inchi_dll_b.c:

Macros

#define inchi_NUMH2(AT, CUR_AT)   ((AT[CUR_AT].num_iso_H[0]>0?AT[CUR_AT].num_iso_H[0]:0) +AT[CUR_AT].num_iso_H[1]+AT[CUR_AT].num_iso_H[2]+AT[CUR_AT].num_iso_H[3])
 
#define AT_NUM_BONDS(AT)   (AT).num_bonds
 
#define ATOM_NUMBER   AT_NUM
 
#define IN_NEIGH_LIST   is_in_the_slist
 
#define Create_Atom   CreateInchi_Atom
 
#define AT_BONDS_VAL(AT, I)   AT[I].num_iso_H[0]
 
#define ISOLATED_ATOM   (-15)
 
#define NUM_ISO_Hk(AT, I, K)   AT[I].num_iso_H[K+1]
 
#define IS_METAL_ATOM(AT, I)   is_element_a_metal( AT[I].elname )
 
#define MAX_CHAIN_LEN   20
 
#define MAX_CHAIN_LEN   20
 

Functions

static int PrepareToMakeINCHI (STRUCT_DATA *sd, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, PINChI2 *pINChI[INCHI_NUM], PINChI_Aux2 *pINChI_Aux[INCHI_NUM], INCHI_IOSTREAM *pout, INCHI_IOSTREAM *plog, INCHI_IOSTREAM *pprb, INCHI_IOSTREAM *inp_file, const char *moltext, char *options, INCHI_IOS_STRING *strbuf)
 
static int PostMakeINCHICleanup (struct tagCANON_GLOBALS *pCG, STRUCT_DATA *sd, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, PINChI2 *pINChI[INCHI_NUM], PINChI_Aux2 *pINChI_Aux[INCHI_NUM], INCHI_IOSTREAM *pout, INCHI_IOSTREAM *plog, INCHI_IOSTREAM *pprb, INCHI_IOSTREAM *inp_file, const char *moltext, INCHI_IOS_STRING *strbuf)
 
void FreeInchi_Atom (inchi_Atom **at)
 
inchi_AtomCreateInchiAtom (int num_atoms)
 
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL MakeINCHIFromMolfileText (const char *moltext, char *szOptions, inchi_Output *result)
 
void FreeInchi_Input (inchi_Input *inp_at_data)
 
S_SHORTis_in_the_slist (S_SHORT *pathAtom, S_SHORT nNextAtom, int nPathLen)
 
int is_element_a_metal (char szEl[])
 
int InchiToInchiAtom (INCHI_IOSTREAM *inp_file, inchi_Stereo0D **stereo0D, int *num_stereo0D, int bDoNotAddH, int vABParityUnknown, INPUT_TYPE nInputType, inchi_Atom **at, int max_num_at, int *num_dimensions, int *num_bonds, char *pSdfLabel, char *pSdfValue, long *Id, INCHI_MODE *pInpAtomFlags, int *err, char *pStrErr)
 

Variables

char szLine_i2ia [INCHI_LINE_LEN]
 
char szNextLine_i2ia [INCHI_LINE_ADD]
 

Macro Definition Documentation

◆ AT_BONDS_VAL

#define AT_BONDS_VAL (   AT,
 
)    AT[I].num_iso_H[0]

◆ AT_NUM_BONDS

#define AT_NUM_BONDS (   AT)    (AT).num_bonds

◆ ATOM_NUMBER

#define ATOM_NUMBER   AT_NUM

◆ Create_Atom

#define Create_Atom   CreateInchi_Atom

◆ IN_NEIGH_LIST

#define IN_NEIGH_LIST   is_in_the_slist

◆ inchi_NUMH2

#define inchi_NUMH2 (   AT,
  CUR_AT 
)    ((AT[CUR_AT].num_iso_H[0]>0?AT[CUR_AT].num_iso_H[0]:0) +AT[CUR_AT].num_iso_H[1]+AT[CUR_AT].num_iso_H[2]+AT[CUR_AT].num_iso_H[3])

◆ IS_METAL_ATOM

#define IS_METAL_ATOM (   AT,
 
)    is_element_a_metal( AT[I].elname )

◆ ISOLATED_ATOM

#define ISOLATED_ATOM   (-15)

◆ MAX_CHAIN_LEN [1/2]

#define MAX_CHAIN_LEN   20

◆ MAX_CHAIN_LEN [2/2]

#define MAX_CHAIN_LEN   20

◆ NUM_ISO_Hk

#define NUM_ISO_Hk (   AT,
  I,
 
)    AT[I].num_iso_H[K+1]

Function Documentation

◆ CreateInchiAtom()

inchi_Atom * CreateInchiAtom ( int  num_atoms)
+ Here is the caller graph for this function:

◆ FreeInchi_Atom()

void FreeInchi_Atom ( inchi_Atom **  at)
+ Here is the caller graph for this function:

◆ FreeInchi_Input()

void FreeInchi_Input ( inchi_Input inp_at_data)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InchiToInchiAtom()

int InchiToInchiAtom ( INCHI_IOSTREAM inp_file,
inchi_Stereo0D **  stereo0D,
int *  num_stereo0D,
int  bDoNotAddH,
int  vABParityUnknown,
INPUT_TYPE  nInputType,
inchi_Atom **  at,
int  max_num_at,
int *  num_dimensions,
int *  num_bonds,
char *  pSdfLabel,
char *  pSdfValue,
long *  Id,
INCHI_MODE pInpAtomFlags,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ is_element_a_metal()

int is_element_a_metal ( char  szEl[])

◆ is_in_the_slist()

S_SHORT * is_in_the_slist ( S_SHORT pathAtom,
S_SHORT  nNextAtom,
int  nPathLen 
)

◆ MakeINCHIFromMolfileText()

EXPIMP_TEMPLATE INCHI_API int INCHI_DECL MakeINCHIFromMolfileText ( const char *  moltext,
char *  szOptions,
inchi_Output result 
)
+ Here is the call graph for this function:

◆ PostMakeINCHICleanup()

int PostMakeINCHICleanup ( struct tagCANON_GLOBALS pCG,
STRUCT_DATA sd,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
PINChI2 pINChI[INCHI_NUM],
PINChI_Aux2 pINChI_Aux[INCHI_NUM],
INCHI_IOSTREAM pout,
INCHI_IOSTREAM plog,
INCHI_IOSTREAM pprb,
INCHI_IOSTREAM inp_file,
const char *  moltext,
INCHI_IOS_STRING strbuf 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PrepareToMakeINCHI()

int PrepareToMakeINCHI ( STRUCT_DATA sd,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
PINChI2 pINChI[INCHI_NUM],
PINChI_Aux2 pINChI_Aux[INCHI_NUM],
INCHI_IOSTREAM pout,
INCHI_IOSTREAM plog,
INCHI_IOSTREAM pprb,
INCHI_IOSTREAM inp_file,
const char *  moltext,
char *  options,
INCHI_IOS_STRING strbuf 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ szLine_i2ia

char szLine_i2ia[INCHI_LINE_LEN]

◆ szNextLine_i2ia

char szNextLine_i2ia[INCHI_LINE_ADD]