52#define ITEM_DELIMETER ","
54#define COMMA_EXTRA_SPACE ","
55#define LEN_EXTRA_SPACE 0
60#define CT_MODE_NO_ORPHANS 1
61#define CT_MODE_ABC_NUMBERS 2
62#define CT_MODE_ATOM_COUNTS 4
63#define CT_MODE_PREDECESSORS 8
64#define CT_MODE_EQL_H_TOGETHER 16
65#define CT_MODE_ABC_NUM_CLOSURES 32
70#define HAS_T(S) (S->pINChI[TAUT_YES] && S->pINChI[TAUT_YES]->nNumberOfAtoms)
72#define HAS_N(S) (S->pINChI[TAUT_NON] && S->pINChI[TAUT_NON]->nNumberOfAtoms)
75#define HAS_TT(S) (S->pINChI[TAUT_YES] && S->pINChI[TAUT_YES]->nNumberOfAtoms && S->pINChI[TAUT_YES]->lenTautomer>0)
77#define HAS_TN(S) (S->pINChI[TAUT_YES] && S->pINChI[TAUT_YES]->nNumberOfAtoms && !S->pINChI[TAUT_YES]->lenTautomer)
79#define HAS_NN(S) (S->pINChI[TAUT_NON] && S->pINChI[TAUT_NON]->nNumberOfAtoms && !S->pINChI[TAUT_NON]->lenTautomer)
80#define GET_II(M,S) ((M==OUT_N1)? (HAS_TN(S)? TAUT_YES : HAS_NN(S)? TAUT_NON : -1): \
81 (M==OUT_T1 || M==OUT_TN)? (HAS_T(S) ? TAUT_YES : HAS_N(S) ? TAUT_NON : -1): \
82 (M==OUT_NN)? (HAS_NN(S)? TAUT_NON : HAS_TN(S)? TAUT_YES : -1): \
83 (M==OUT_NT)? ((HAS_TT(S) && HAS_NN(S)) ? TAUT_NON : -1) : -1)
90#define iiSTEREO 0x0001
91#define iiSTEREO_INV 0x0002
100#define iitNONTAUT 0x0020
106#define iiEq2NONTAUT 0x0040
107#define iiEq2ISO 0x0080
108#define iiEq2INV 0x0100
110#define iiEmpty 0x0200
116#ifndef COMPILE_ALL_CPP
148 const char *szLeadingDelim,
152 const char *szLeadingDelim,
191 int nNumberOfIsotopicAtoms,
196 int nNumberOfIsotopicTGroups,
202 int nCtMode,
int *bOverflow );
218 const char *szTailingDelim,
222 int MakeDelim(
const char *szTailingDelim,
225 int MakeEqStr(
const char *szTailingDelim,
246 int bUseMulipliers );
253 int bUseMulipliers );
261 int bUseMulipliers );
269 int bUseMulipliers );
276 int bSecondNonTautPass,
277 int bOmitRepetitions,
278 int bUseMulipliers );
286 int bSecondNonTautPass,
287 int bOmitRepetitions,
288 int bUseMulipliers );
293 int bOutType,
int TAUT_MODE,
295 int bSecondNonTautPass,
296 int bOmitRepetitions,
297 int bUseMulipliers );
306 int bSecondNonTautPass,
307 int bOmitRepetitions,
308 int bUseMulipliers );
317 int bSecondNonTautPass,
318 int bOmitRepetitions,
319 int bUseMulipliers );
324 int num_components );
329 int num_components );
338 int bSecondNonTautPass,
339 int bOmitRepetitions,
340 int bUseMulipliers );
347 int bUseMulipliers );
356 int bSecondNonTautPass,
357 int bOmitRepetitions );
365 int bSecondNonTautPass,
366 int bOmitRepetitions,
367 int bUseMulipliers );
374 int bUseMulipliers );
381 int bOmitRepetitions,
382 int bUseMulipliers );
390 int bSecondNonTautPass,
391 int bOmitRepetitions,
392 int bUseMulipliers );
401 int bSecondNonTautPass,
402 int bOmitRepetitions );
411 int bSecondNonTautPass,
412 int bOmitRepetitions );
420 int bSecondNonTautPass,
421 int bOmitRepetitions,
422 int bUseMulipliers );
426 int *bOverflow,
int bOutType,
429 int bSecondNonTautPass,
430 int bOmitRepetitions,
431 int bUseMulipliers );
440 int bSecondNonTautPass,
441 int bOmitRepetitions );
448 int bUseMulipliers );
454 int num_components );
461 int num_components );
465#ifndef COMPILE_ALL_CPP
int MakeIsoHString(int num_iso_H[], INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1847
int MakeDecNumber(char *szString, int nStringLen, const char *szLeadingDelim, int nValue)
Definition ichiprt2.c:2225
int str_AuxTautTrans(CANON_GLOBALS *pCG, AT_NUMB *nTrans_n, AT_NUMB *nTrans_s, INCHI_IOS_STRING *strbuf, int *bOverflow, int TAUT_MODE, int num_components)
Definition ichiprt3.c:4184
int EqlOrigInfo(INChI_Aux *a1, INChI_Aux *a2)
Definition ichiprt2.c:387
int MakeCtStringNew(CANON_GLOBALS *pCG, AT_NUMB *LinearCT, int nLenCT, int bAddDelim, S_CHAR *nNum_H, int num_atoms, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:551
int str_IsoSp2(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:1479
const char * EquString(int EquVal)
Definition ichiprt1.c:564
int str_AuxNumb(CANON_GLOBALS *pCG, INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions)
Definition ichiprt3.c:3818
int MakeCRVString(ORIG_INFO *OrigInfo, int nLenCT, int bAddDelim, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1308
int str_AuxChargeRadVal(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bUseMulipliers)
Definition ichiprt3.c:4013
int MakeCtString(CANON_GLOBALS *pCG, AT_NUMB *LinearCT, int nLenCT, int bAddDelim, S_CHAR *nNum_H, int num_atoms, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1069
int MakeStereoString(AT_NUMB *at1, AT_NUMB *at2, S_CHAR *parity, int bAddDelim, int nLenCT, INCHI_IOS_STRING *buf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1942
int bHasOrigInfo(ORIG_INFO *OrigInfo, int num_atoms)
Definition ichiprt2.c:369
int str_AuxInvSp3Numb(CANON_GLOBALS *pCG, INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions)
Definition ichiprt3.c:2584
int CompareTautNonIsoPartOfINChI(const INChI *i1, const INChI *i2)
Definition ichimake.c:316
int str_IsoSp3(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bRelRac, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:1768
int str_AuxIsoNumb(CANON_GLOBALS *pCG, INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions)
Definition ichiprt3.c:2769
int MakeCtStringOld(AT_NUMB *LinearCT, int nLenCT, int bAddDelim, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:703
int str_IsoStereoAbsInv(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int num_components)
Definition ichiprt3.c:2058
AT_NUMB * GetDfsOrder4CT(CANON_GLOBALS *pCG, AT_NUMB *LinearCT, int nLenCT, S_CHAR *nNum_H, int num_atoms, int nCtMode)
Definition ichimake.c:2154
int MergeZzInHillFormula(INCHI_IOS_STRING *strbuf)
Definition ichiprt1.c:5428
int bin_AuxTautTrans(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, AT_NUMB **pTrans_n, AT_NUMB **pTrans_s, int bOutType, int num_components)
Definition ichiprt3.c:4091
int MakeHString(int bAddDelim, S_CHAR *LinearCT, int nLenCT, INCHI_IOS_STRING *buf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:789
const char sCompDelim[]
Definition ichiprt1.c:234
int str_Sp3(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bRelRac, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:957
int str_Sp2(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:725
int str_AuxInvSp3(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:2315
int str_IsoAtoms(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bAbcNumbers, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:1229
int MakeEquString(AT_NUMB *LinearCT, int nLenCT, int bAddDelim, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1482
int MakeMult(int mult, const char *szTailingDelim, INCHI_IOS_STRING *buf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:431
int str_H_atoms(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int ATOM_MODE, int TAUT_MODE, int num_components, int bUseMulipliers)
Definition ichiprt3.c:309
int str_HillFormula2(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int num_components, int bUseMulipliers)
Definition ichiprt3.c:137
int str_AuxInvIsoSp3Numb(CANON_GLOBALS *pCG, INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions)
Definition ichiprt3.c:3575
int str_Connections(CANON_GLOBALS *pCG, INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int ATOM_MODE, int num_components, int bUseMulipliers)
Definition ichiprt3.c:224
int FillOutINChI(INChI *pINChI, INChI_Aux *pINChI_Aux, int num_atoms, int num_at_tg, int num_removed_H, sp_ATOM *at, inp_ATOM *norm_at, CANON_STAT *pCS, CANON_GLOBALS *pCG, int bTautomeric, INCHI_MODE nUserMode, char *pStrErrStruct, int bNoWarnings)
Definition ichimak2.c:1071
int MakeIsoTautString(INChI_IsotopicTGroup *IsotopicTGroup, int nNumberOfIsotopicTGroups, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1726
int str_AuxEqu(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:2106
int str_AuxInvIsoSp3(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:3213
int str_StereoAbsInv(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int num_components)
Definition ichiprt3.c:1191
int str_HillFormula(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int num_components, int bUseMulipliers)
Definition ichiprt3.c:60
int str_AuxTgroupEqu(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bUseMulipliers)
Definition ichiprt3.c:3953
int MakeHillFormulaString(char *szHillFormula, INCHI_IOS_STRING *strbuf, int *bOverflow)
Definition ichimak2.c:121
int MakeIsoAtomString(INChI_IsotopicAtom *IsotopicAtom, int nNumberOfIsotopicAtoms, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1568
int str_FixedH_atoms(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int ATOM_MODE, int num_components, int bUseMulipliers)
Definition ichiprt3.c:618
int MakeTautString(AT_NUMB *LinearCT, int nLenCT, int bAddDelim, INCHI_IOS_STRING *strbuf, int nCtMode, int *bOverflow)
Definition ichiprt2.c:1111
int str_AuxIsoTgroupEqu(INCHI_SORT *pINChISort, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:4233
int MakeDelim(const char *szTailingDelim, INCHI_IOS_STRING *buf, int *bOverflow)
Definition ichiprt2.c:476
int str_Charge2(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int num_components, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:427
int MakeAbcNumber(char *szString, int nStringLen, const char *szLeadingDelim, int nValue)
Definition ichiprt2.c:2066
int str_AuxIsoEqu(INCHI_SORT *pINChISort, INCHI_SORT *pINChISort2, INCHI_IOS_STRING *strbuf, int *bOverflow, int bOutType, int TAUT_MODE, int num_components, int bSecondNonTautPass, int bOmitRepetitions, int bUseMulipliers)
Definition ichiprt3.c:2962
int MakeEqStr(const char *szTailingDelim, int mult, INCHI_IOS_STRING *buf, int *bOverflow)
Definition ichiprt2.c:506
#define nNum_H(ICOMPONENT)
unsigned short AT_NUMB
Definition ichisize.h:45
unsigned long INCHI_MODE
Definition ichisize.h:60
signed char S_CHAR
Definition inchi_api.h:113
Definition ichicant.h:338
Definition ichicant.h:204