InChI
 
Loading...
Searching...
No Matches
ichister.h
Go to the documentation of this file.
1/*
2 * SPDX-License-Identifier: MIT
3 * Copyright (c) 2024 IUPAC and InChI Trust
4 */
5
6
7#ifndef _ICHISTER_H_
8#define _ICHISTER_H_
9
10#include "ichicomn.h"
11
12#ifndef COMPILE_ALL_CPP
13#ifdef __cplusplus
14extern "C" {
15#endif
16#endif
17 int bCanAtomBeAStereoCenter( char *elname, S_CHAR charge, S_CHAR radical );
18 int bCanInpAtomBeAStereoCenter( inp_ATOM *at, int cur_at, int bPointedEdgeStereo, int bStereoAtZz );
19 int bCanAtomHaveAStereoBond( char *elname, S_CHAR charge, S_CHAR radical );
20 int bCanAtomBeTerminalAllene( char *elname, S_CHAR charge, S_CHAR radical );
21 int bCanAtomBeMiddleAllene( char *elname, S_CHAR charge, S_CHAR radical );
22 int bAtomHasValence3( char *elname, S_CHAR charge, S_CHAR radical );
23
24 double dot_prod3(const double a[], const double b[]);
25 void* cross_prod3(const double a[], const double b[], double result[]);
26
27 struct tagCANON_GLOBALS;
28 int set_stereo_parity( struct tagCANON_GLOBALS *pCG,
29 inp_ATOM* at,
30 sp_ATOM* at_output,
31 int num_at,
32 int num_removed_H,
33 int *nMaxNumStereoAtoms,
34 int *nMaxNumStereoBonds,
35 INCHI_MODE nMode,
36 int bPointedEdgeStereo,
37 int vABParityUnknown,
38 int bLooseTSACheck,
39 int bStereoAtZz );
40
41 int get_opposite_sb_atom( inp_ATOM *at, int cur_atom, int icur2nxt,
42 int *pnxt_atom, int *pinxt2cur, int *pinxt_sb_parity_ord );
43
44#define PES_BIT_POINT_EDGE_STEREO 1
45#define PES_BIT_PHOSPHINE_STEREO 2
46#define PES_BIT_ARSINE_STEREO 4
47#define PES_BIT_FIX_SP3_BUG 8
48
49#ifndef COMPILE_ALL_CPP
50#ifdef __cplusplus
51}
52#endif
53#endif
54
55
56#endif /* _ICHISTER_H_ */
unsigned long INCHI_MODE
Definition ichisize.h:25
int bAtomHasValence3(char *elname, S_CHAR charge, S_CHAR radical)
Definition ichister.c:1539
int bCanAtomBeTerminalAllene(char *elname, S_CHAR charge, S_CHAR radical)
Definition ichister.c:1670
int bCanAtomHaveAStereoBond(char *elname, S_CHAR charge, S_CHAR radical)
Definition ichister.c:1559
void * cross_prod3(const double a[], const double b[], double result[])
Definition ichister.c:295
int bCanAtomBeMiddleAllene(char *elname, S_CHAR charge, S_CHAR radical)
Definition ichister.c:1580
int bCanAtomBeAStereoCenter(char *elname, S_CHAR charge, S_CHAR radical)
int bCanInpAtomBeAStereoCenter(inp_ATOM *at, int cur_at, int bPointedEdgeStereo, int bStereoAtZz)
Definition ichister.c:1397
double dot_prod3(const double a[], const double b[])
Definition ichister.c:268
int get_opposite_sb_atom(inp_ATOM *at, int cur_atom, int icur2nxt, int *pnxt_atom, int *pinxt2cur, int *pinxt_sb_parity_ord)
Definition ichister.c:4826
int set_stereo_parity(struct tagCANON_GLOBALS *pCG, inp_ATOM *at, sp_ATOM *at_output, int num_at, int num_removed_H, int *nMaxNumStereoAtoms, int *nMaxNumStereoBonds, INCHI_MODE nMode, int bPointedEdgeStereo, int vABParityUnknown, int bLooseTSACheck, int bStereoAtZz)
Definition ichister.c:4363
signed char S_CHAR
Definition inchi_api.h:78
Definition extr_ct.h:75
Definition ichicant.h:303
Structure describing an input atom.
Definition inpdef.h:107