1 /* 2 * International Chemical Identifier (InChI) 3 * Version 1 4 * Software version 1.04 5 * September 9, 2011 6 * 7 * The InChI library and programs are free software developed under the 8 * auspices of the International Union of Pure and Applied Chemistry (IUPAC). 9 * Originally developed at NIST. Modifications and additions by IUPAC 10 * and the InChI Trust. 11 * 12 * IUPAC/InChI-Trust Licence for the International Chemical Identifier (InChI) 13 * Software version 1.0. 14 * Copyright (C) IUPAC and InChI Trust Limited 15 * 16 * This library is free software; you can redistribute it and/or modify it under the 17 * terms of the IUPAC/InChI Trust Licence for the International Chemical Identifier 18 * (InChI) Software version 1.0; either version 1.0 of the License, or 19 * (at your option) any later version. 20 * 21 * This library is distributed in the hope that it will be useful, 22 * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 24 * See the IUPAC/InChI Trust Licence for the International Chemical Identifier (InChI) 25 * Software version 1.0 for more details. 26 * 27 * You should have received a copy of the IUPAC/InChI Trust Licence for the 28 * International Chemical Identifier (InChI) Software version 1.0 along with 29 * this library; if not, write to: 30 * 31 * The InChI Trust 32 * c/o FIZ CHEMIE Berlin 33 * Franklinstrasse 11 34 * 10587 Berlin 35 * GERMANY 36 * 37 */ 38 39 40 #ifndef __INCHISTER_H__ 41 #define __INCHISTER_H__ 42 43 #ifndef COMPILE_ALL_CPP 44 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 #endif 48 int bCanAtomBeAStereoCenter( char *elname, S_CHAR charge, S_CHAR radical ); 49 int bCanInpAtomBeAStereoCenter( inp_ATOM *at, int cur_at, int bPointedEdgeStereo ); 50 int bCanAtomHaveAStereoBond( char *elname, S_CHAR charge, S_CHAR radical ); 51 int bCanAtomBeTerminalAllene( char *elname, S_CHAR charge, S_CHAR radical ); 52 int bCanAtomBeMiddleAllene( char *elname, S_CHAR charge, S_CHAR radical ); 53 int bAtomHasValence3( char *elname, S_CHAR charge, S_CHAR radical ); 54 int set_stereo_parity( inp_ATOM* at, sp_ATOM* at_output, int num_at, int num_removed_H, 55 int *nMaxNumStereoAtoms, int *nMaxNumStereoBonds, INCHI_MODE nMode, 56 int bPointedEdgeStereo, int vABParityUnknown ); 57 int get_opposite_sb_atom( inp_ATOM *at, int cur_atom, int icur2nxt, 58 int *pnxt_atom, int *pinxt2cur, int *pinxt_sb_parity_ord ); 59 60 #define PES_BIT_POINT_EDGE_STEREO 1 61 #define PES_BIT_PHOSPHINE_STEREO 2 62 #define PES_BIT_ARSINE_STEREO 4 63 #define PES_BIT_FIX_SP3_BUG 8 64 65 #ifndef COMPILE_ALL_CPP 66 #ifdef __cplusplus 67 } 68 #endif 69 #endif 70 71 #endif /* __INCHISTER_H__ */ 72