#include "inpdef.h"
 Include dependency graph for util.h:
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | EL_NUMBER_H ((U_CHAR)1) | 
| #define | EL_NUMBER_B ((U_CHAR)5) | 
| #define | EL_NUMBER_C ((U_CHAR)6) | 
| #define | EL_NUMBER_N ((U_CHAR)7) | 
| #define | EL_NUMBER_O ((U_CHAR)8) | 
| #define | EL_NUMBER_F ((U_CHAR)9) | 
| #define | EL_NUMBER_SI ((U_CHAR)14) | 
| #define | EL_NUMBER_P ((U_CHAR)15) | 
| #define | EL_NUMBER_S ((U_CHAR)16) | 
| #define | EL_NUMBER_CL ((U_CHAR)17) | 
| #define | EL_NUMBER_GE ((U_CHAR)32) | 
| #define | EL_NUMBER_AS ((U_CHAR)33) | 
| #define | EL_NUMBER_SE ((U_CHAR)34) | 
| #define | EL_NUMBER_BR ((U_CHAR)35) | 
| #define | EL_NUMBER_SB ((U_CHAR)51) | 
| #define | EL_NUMBER_TE ((U_CHAR)52) | 
| #define | EL_NUMBER_I ((U_CHAR)53) | 
| #define | EL_NUMBER_PO ((U_CHAR)84) | 
| #define | EL_NUMBER_AT ((U_CHAR)85) | 
| #define | EL_NUMBER_ZY ((U_CHAR)119) | 
| #define | EL_NUMBER_ZZ ((U_CHAR)120) | 
| #define | ALPHA_BASE 27 | 
| #define | INCHI_BUILD_PLATFORM "" | 
| #define | INCHI_BUILD_DEBUG "" | 
| #define | INCHI_SRC_REV "" | 
| #define | INCHI_BUILD_COMPILER "" | 
Functions | |
| int | get_atomic_mass (const char *elname) | 
| Get the atomic mass object.   | |
| int | get_atomic_mass_from_elnum (int nAtNum) | 
| Get the atomic mass from elnum object.   | |
| int | get_num_H (const char *elname, int inp_num_H, S_CHAR num_iso_H[], int charge, int radical, int chem_bonds_valence, int atom_input_valence, int bAliased, int bDoNotAddH, int bHasMetalNeighbor) | 
| Get the number of attached hydrogens.   | |
| int | extract_charges_and_radicals (char *elname, int *pnRadical, int *pnCharge) | 
| Extract charges and radicals from element name.   | |
| int | extract_H_atoms (char *elname, S_CHAR num_iso_H[]) | 
| Extract H atoms from element name.   | |
| int | normalize_string (char *name) | 
| Normalize string (remove leading & trailing spaces, replace consecutive spaces with a single space, remove tabs.)   | |
| int | read_upto_delim (char **pstring, char *field, int maxlen, char *delims) | 
| Read up to any delimiter from the string.   | |
| int | is_matching_any_delim (char c, char *delims) | 
| Check if a character is in the list of possible delimiters.   | |
| int | dotify_non_printable_chars (char *line) | 
| Replace non-ASCII characters with '.',.   | |
| char * | lrtrim (char *p, int *nLen) | 
| Trim leading and trailing spaces from a string.   | |
| void | remove_trailing_spaces (char *p) | 
| Remove trailing spaces from a string.   | |
| void | remove_one_lf (char *p) | 
| Remove one line feed character from the end of a string.   | |
| int | mystrncpy (char *target, const char *source, unsigned maxlen) | 
| Copies up to maxlen characters INCLUDING end null from source to target. Fills out the rest of the target with null bytes. Protected from non-zero-terminated source and overlapped target/source.   | |
| void | mystrrev (char *p) | 
| Reverse a string in place.   | |
| int | inchi_memicmp (const void *p1, const void *p2, size_t length) | 
| Compare two memory blocks in a case-insensitive manner.   | |
| int | inchi_stricmp (const char *s1, const char *s2) | 
| Case-insensitive string comparison.   | |
| char * | inchi__strnset (char *s, int val, size_t length) | 
| Set a string to a specified value for a given length.   | |
| char * | inchi__strdup (const char *string) | 
| Duplicate a string.   | |
| long | inchi_strtol (const char *str, const char **p, int base) | 
| Convert string to long integer.   | |
| double | inchi_strtod (const char *str, const char **p) | 
| Convert string to double.   | |
| AT_NUMB * | is_in_the_list (AT_NUMB *pathAtom, AT_NUMB nNextAtom, int nPathLen) | 
| Checks if an atom is in the list/path.   | |
| int * | is_in_the_ilist (int *pathAtom, int nNextAtom, int nPathLen) | 
| Checks if an integer is in the list/path.   | |
| int | is_ilist_inside (int *ilist, int nlist, int *ilist2, int nlist2) | 
| Checks if one list of integers is inside another list (ilist in ilist2)   | |
| void | extract_inchi_substring (char **buf, const char *str, size_t slen) | 
| Extract InChI substring embedded into a longer string.   | |
| void | extract_auxinfo_substring (char **buf, const char *str, size_t slen) | 
| Extract AuxInfo substring embedded into a longer string.   | |
| int | extract_orig_nums_from_auxinfo_string (char *saux, int *orig) | 
| Parse AuxInfostring and get a list of original atom numbers orig[cano_num].   | |
| int | extract_nonstereo_eq_classes_from_auxinfo_string (char *saux, int nat, int *orig, int *have_eclass_info, int *eclass, int *eclass_by_origs) | 
| Parse AuxInfostring and get non-stereo equivalence classes.   | |
| int | extract_stereo_info_from_inchi_string (char *sinchi, int nat, int *orig, int *at_stereo_mark) | 
| Extract stereo information from InChI string.   | |
| int | extract_all_backbone_bonds_from_inchi_string (char *sinchi, int *n_all_bkb_orig, int *orig, int *all_bkb_orig) | 
| Extract all backbone bonds from InChI string.   | |
| int | get_periodic_table_number (const char *elname) | 
| Get the periodic table number object.   | |
| int | is_el_a_metal (int nPeriodicNum) | 
| Check if an element is a metal.   | |
| int | get_el_valence (int nPeriodicNum, int charge, int val_num) | 
| Get reference value of atom valence at given charge.   | |
| int | get_unusual_el_valence (int nPeriodicNum, int charge, int radical, int bonds_valence, int num_H, int num_bonds) | 
| Output valence needed to unambiguosly reconstruct bonds.   | |
| int | detect_unusual_el_valence (int nPeriodicNum, int charge, int radical, int bonds_valence, int num_H, int num_bonds) | 
| Output valence that does not fit any known valences.   | |
| int | needed_unusual_el_valence (int nPeriodicNum, int charge, int radical, int bonds_valence, int actual_bonds_val, int num_H, int num_bonds) | 
| Output valence needed to unambiguosly reconstruct number of H.   | |
| int | get_el_type (int nPeriodicNum) | 
| Get the el type object.   | |
| int | if_skip_add_H (int nPeriodicNum) | 
| Check if no H addition allowed.   | |
| int | get_element_chemical_symbol (int nAtNum, char *szElement) | 
| Finds chemical symbol for element of given number.   | |
| int | get_element_or_pseudoelement_symbol (int nAtNum, char *szElement) | 
| Finds symbol for element of given number. Accounts for (translates)pseudoelements.   | |
| int | MakeRemovedProtonsString (int nNumRemovedProtons, NUM_H *nNumExchgIsotopicH, NUM_H *nNumRemovedProtonsIsotopic, int bIsotopic, char *szRemovedProtons, int *num_removed_iso_H) | 
| Creates a string from the removed protons (?)   | |
| int | num_of_H (inp_ATOM *at, int iat) | 
| Get the number of hydrogens.   | |
| U_CHAR | ion_el_group (int el) | 
| Get the element group of an element. The base element rather than the periodic group is used to aid readability.   | |
| int | has_other_ion_neigh (inp_ATOM *at, int iat, int iat_ion_neigh) | 
| Check whether an atom has ion neighbors.   | |
| int | has_other_ion_in_sphere_2 (inp_ATOM *at, int iat, int iat_ion_neigh) | 
| Check whether an atom has ion neighbors within sphere (breath first search (BFS) up to r=2)   | |
| int | nNoMetalNumBonds (inp_ATOM *at, int at_no) | 
| Returns the number of non-metal bonds.   | |
| int | nNoMetalBondsValence (inp_ATOM *at, int at_no) | 
| Returns the number of non-metal bond valences.   | |
| int | nNoMetalNeighIndex (inp_ATOM *at, int at_no) | 
| Get the index of the first element that is not a metal.   | |
| int | nNoMetalOtherNeighIndex (inp_ATOM *at, int at_no, int cur_neigh) | 
| Get the index of an element that is not a metal excluding a given index.   | |
| int | nNoMetalOtherNeighIndex2 (inp_ATOM *at, int at_no, int cur_neigh, int cur_neigh2) | 
| Get the index of an element that is not a metal excluding a 2 given indexes.   | |
| int | nBondsValToMetal (inp_ATOM *at, int iat) | 
| Gets the number of bond valences to a metal atom.   | |
| int | nBondsValenceInpAt (const inp_ATOM *at, int *nNumAltBonds, int *nNumWrongBonds) | 
| Gets the number of bond valences.   | |
| int | bHeteroAtomMayHaveXchgIsoH (inp_ATOM *atom, int iat) | 
| Checks whether a hetero atom may have exchangeable isotopic hydrogens.   | |
| int | get_endpoint_valence (U_CHAR el_number) | 
| Get the endpoint valence object.   | |
| int | get_endpoint_valence_KET (U_CHAR el_number) | 
| Get the endpoint valence KET object.   | |
| int | SetBitFree (struct tagCANON_GLOBALS *pCG) | 
| Frees bit string in canonicalisation data structure.   | |
| void | WriteCoord (char *str, double x) | 
| Write coordinate (double) to string.   | |
Variables | |
| const int | ERR_ELEM | 
| const int | nElDataLen | 
| #define ALPHA_BASE 27 | 
| #define EL_NUMBER_AS ((U_CHAR)33) | 
| #define EL_NUMBER_AT ((U_CHAR)85) | 
| #define EL_NUMBER_B ((U_CHAR)5) | 
| #define EL_NUMBER_BR ((U_CHAR)35) | 
| #define EL_NUMBER_C ((U_CHAR)6) | 
| #define EL_NUMBER_CL ((U_CHAR)17) | 
| #define EL_NUMBER_F ((U_CHAR)9) | 
| #define EL_NUMBER_GE ((U_CHAR)32) | 
| #define EL_NUMBER_H ((U_CHAR)1) | 
| #define EL_NUMBER_I ((U_CHAR)53) | 
| #define EL_NUMBER_N ((U_CHAR)7) | 
| #define EL_NUMBER_O ((U_CHAR)8) | 
| #define EL_NUMBER_P ((U_CHAR)15) | 
| #define EL_NUMBER_PO ((U_CHAR)84) | 
| #define EL_NUMBER_S ((U_CHAR)16) | 
| #define EL_NUMBER_SB ((U_CHAR)51) | 
| #define EL_NUMBER_SE ((U_CHAR)34) | 
| #define EL_NUMBER_SI ((U_CHAR)14) | 
| #define EL_NUMBER_TE ((U_CHAR)52) | 
| #define EL_NUMBER_ZY ((U_CHAR)119) | 
| #define EL_NUMBER_ZZ ((U_CHAR)120) | 
| #define INCHI_BUILD_COMPILER "" | 
| #define INCHI_BUILD_DEBUG "" | 
| #define INCHI_BUILD_PLATFORM "" | 
| #define INCHI_SRC_REV "" | 
| int bHeteroAtomMayHaveXchgIsoH | ( | inp_ATOM * | atom, | 
| int | iat | ||
| ) | 
Checks whether a hetero atom may have exchangeable isotopic hydrogens.
| atom | Pointer to atom list | 
| iat | Atom number | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int detect_unusual_el_valence | ( | int | nPeriodicNum, | 
| int | charge, | ||
| int | radical, | ||
| int | bonds_valence, | ||
| int | num_H, | ||
| int | num_bonds | ||
| ) | 
Output valence that does not fit any known valences.
| nPeriodicNum | Periodic table number | 
| charge | Charge | 
| radical | Radical | 
| bonds_valence | Bonds valence | 
| num_H | Number of hydrogens | 
| num_bonds | Number of bonds | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int dotify_non_printable_chars | ( | char * | line | ) | 
Replace non-ASCII characters with '.',.
| line | Pointer to the input line | 
 Here is the caller graph for this function:| int extract_all_backbone_bonds_from_inchi_string | ( | char * | sinchi, | 
| int * | n_all_bkb_orig, | ||
| int * | orig, | ||
| int * | all_bkb_orig | ||
| ) | 
Extract all backbone bonds from InChI string.
| sinchi | Pointer to InChI string | 
| n_all_bkb_orig | Pointer to number of all backbone bonds | 
| orig | Pointer to array of original atom numbers | 
| all_bkb_orig | Pointer to output array of all backbone bonds by original atom numbers | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void extract_auxinfo_substring | ( | char ** | buf, | 
| const char * | str, | ||
| size_t | slen | ||
| ) | 
Extract AuxInfo substring embedded into a longer string.
| buf | Pointer to output buffer | 
| str | Pointer to input string | 
| slen | Length of the input string | 
 Here is the caller graph for this function:| int extract_charges_and_radicals | ( | char * | elname, | 
| int * | pnRadical, | ||
| int * | pnCharge | ||
| ) | 
Extract charges and radicals from element name.
| elname | Element name | 
| pnRadical | Number of radicals | 
| pnCharge | Number of charges | 
 Here is the caller graph for this function:| int extract_H_atoms | ( | char * | elname, | 
| S_CHAR | num_iso_H[] | ||
| ) | 
Extract H atoms from element name.
| elname | Element name | 
| num_iso_H | Number of isotopic H | 
 Here is the caller graph for this function:| void extract_inchi_substring | ( | char ** | buf, | 
| const char * | str, | ||
| size_t | slen | ||
| ) | 
Extract InChI substring embedded into a longer string.
| buf | Pointer to output buffer | 
| str | Pointer to input string | 
| slen | Length of the input string | 
 Here is the caller graph for this function:| int extract_nonstereo_eq_classes_from_auxinfo_string | ( | char * | saux, | 
| int | nat, | ||
| int * | orig, | ||
| int * | have_eclass_info, | ||
| int * | eclass, | ||
| int * | eclass_by_origs | ||
| ) | 
Parse AuxInfostring and get non-stereo equivalence classes.
| saux | Pointer to AuxInfo string | 
| nat | Number of atoms | 
| orig | Pointer to array of original atom numbers | 
| have_eclass_info | Pointer to output flag indicating if equivalence class info is present | 
| eclass | Pointer to output array of equivalence classes by canonical atom number | 
| eclass_by_origs | Pointer to output array of equivalence classes by original atom number | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int extract_orig_nums_from_auxinfo_string | ( | char * | saux, | 
| int * | orig | ||
| ) | 
Parse AuxInfostring and get a list of original atom numbers orig[cano_num].
| saux | Pointer to AuxInfo string | 
| orig | Pointer to output array of original atom numbers | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int extract_stereo_info_from_inchi_string | ( | char * | sinchi, | 
| int | nat, | ||
| int * | orig, | ||
| int * | at_stereo_mark | ||
| ) | 
Extract stereo information from InChI string.
| sinchi | Pointer to InChI string | 
| nat | Number of atoms | 
| orig | Pointer to array of original atom numbers | 
| at_stereo_mark | Pointer to output array of stereo marks for atoms | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int get_atomic_mass | ( | const char * | elname | ) | 
Get the atomic mass object.
| elname | Element name | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int get_atomic_mass_from_elnum | ( | int | nAtNum | ) | 
Get the atomic mass from elnum object.
| nAtNum | Element number | 
 Here is the caller graph for this function:| int get_el_type | ( | int | nPeriodicNum | ) | 
Get the el type object.
| nPeriodicNum | Periodic table number | 
 Here is the caller graph for this function:| int get_el_valence | ( | int | nPeriodicNum, | 
| int | charge, | ||
| int | val_num | ||
| ) | 
Get reference value of atom valence at given charge.
| nPeriodicNum | Periodic table number | 
| charge | Charge | 
| val_num | Valence number | 
 Here is the caller graph for this function:| int get_element_chemical_symbol | ( | int | nAtNum, | 
| char * | szElement | ||
| ) | 
Finds chemical symbol for element of given number.
| nAtNum | Atom number | 
| szElement | Pointer to chemical symbol | 
 Here is the caller graph for this function:| int get_element_or_pseudoelement_symbol | ( | int | nAtNum, | 
| char * | szElement | ||
| ) | 
Finds symbol for element of given number. Accounts for (translates)pseudoelements.
| nAtNum | Atom number | 
| szElement | Pointer to chemical symbol | 
 Here is the caller graph for this function:| int get_endpoint_valence | ( | U_CHAR | el_number | ) | 
Get the endpoint valence object.
| el_number | Element number | 
 Here is the caller graph for this function:| int get_endpoint_valence_KET | ( | U_CHAR | el_number | ) | 
Get the endpoint valence KET object.
| el_number | Element number | 
 Here is the caller graph for this function:| int get_num_H | ( | const char * | elname, | 
| int | inp_num_H, | ||
| S_CHAR | num_iso_H[], | ||
| int | charge, | ||
| int | radical, | ||
| int | chem_bonds_valence, | ||
| int | atom_input_valence, | ||
| int | bAliased, | ||
| int | bDoNotAddH, | ||
| int | bHasMetalNeighbor | ||
| ) | 
Get the number of attached hydrogens.
| elname | Element name | 
| inp_num_H | Input number of H | 
| num_iso_H | Number of isotopic H | 
| charge | Charge | 
| radical | Radical | 
| chem_bonds_valence | Number of chemical valence bonds | 
| atom_input_valence | Number of atom valence | 
| bAliased | Flag indicating whether the atom is aliased?? | 
| bDoNotAddH | Flag indicating whether to add hydrogens | 
| bHasMetalNeighbor | Flag indicating whether there is a metal neighbor | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int get_periodic_table_number | ( | const char * | elname | ) | 
Get the periodic table number object.
| elname | Pointer to element name | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int get_unusual_el_valence | ( | int | nPeriodicNum, | 
| int | charge, | ||
| int | radical, | ||
| int | bonds_valence, | ||
| int | num_H, | ||
| int | num_bonds | ||
| ) | 
Output valence needed to unambiguosly reconstruct bonds.
| nPeriodicNum | Periodic table number | 
| charge | Charge | 
| radical | Radical | 
| bonds_valence | Bonds valence | 
| num_H | Number of hydrogens | 
| num_bonds | Number of bonds | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int has_other_ion_in_sphere_2 | ( | inp_ATOM * | at, | 
| int | iat, | ||
| int | iat_ion_neigh | ||
| ) | 
Check whether an atom has ion neighbors within sphere (breath first search (BFS) up to r=2)
| at | Pointer to atom array | 
| iat | Atom id | 
| iat_ion_neigh | Atom id of ion neighbor | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int has_other_ion_neigh | ( | inp_ATOM * | at, | 
| int | iat, | ||
| int | iat_ion_neigh | ||
| ) | 
Check whether an atom has ion neighbors.
| at | Pointer to atom array | 
| iat | Atom id | 
| iat_ion_neigh | Atom id of ion neighbor | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int if_skip_add_H | ( | int | nPeriodicNum | ) | 
Check if no H addition allowed.
| nPeriodicNum | Periodic table number | 
 Here is the caller graph for this function:| char * inchi__strdup | ( | const char * | string | ) | 
Duplicate a string.
| string | Pointer to the input string | 
 Here is the caller graph for this function:| char * inchi__strnset | ( | char * | s, | 
| int | val, | ||
| size_t | length | ||
| ) | 
Set a string to a specified value for a given length.
| s | Pointer to the string | 
| val | Value to set | 
| length | Length of the string to set | 
| int inchi_memicmp | ( | const void * | p1, | 
| const void * | p2, | ||
| size_t | length | ||
| ) | 
Compare two memory blocks in a case-insensitive manner.
| p1 | Pointer to the first memory block. | 
| p2 | Pointer to the second memory block. | 
| length | Number of bytes to compare. | 
 Here is the caller graph for this function:| int inchi_stricmp | ( | const char * | s1, | 
| const char * | s2 | ||
| ) | 
Case-insensitive string comparison.
| s1 | Pointer to first string | 
| s2 | Pointer to second string | 
 Here is the caller graph for this function:| double inchi_strtod | ( | const char * | str, | 
| const char ** | p | ||
| ) | 
Convert string to double.
| str | Pointer to the input string | 
| p | Pointer to the position where conversion stopped | 
 Here is the caller graph for this function:| long inchi_strtol | ( | const char * | str, | 
| const char ** | p, | ||
| int | base | ||
| ) | 
Convert string to long integer.
| str | Pointer to the input string | 
| p | Pointer to the position where conversion stopped | 
| base | Base for conversion | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| U_CHAR ion_el_group | ( | int | el | ) | 
Get the element group of an element. The base element rather than the periodic group is used to aid readability.
| el | Element number | 
 Here is the caller graph for this function:| int is_el_a_metal | ( | int | nPeriodicNum | ) | 
Check if an element is a metal.
| nPeriodicNum | Periodic table number | 
 Here is the caller graph for this function:| int is_ilist_inside | ( | int * | ilist, | 
| int | nlist, | ||
| int * | ilist2, | ||
| int | nlist2 | ||
| ) | 
Checks if one list of integers is inside another list (ilist in ilist2)
| ilist | Pointer to the first list of integers | 
| nlist | Length of ilist | 
| ilist2 | Pointer to the second list of integers | 
| nlist2 | Length of ilist2 | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int * is_in_the_ilist | ( | int * | pathAtom, | 
| int | nNextAtom, | ||
| int | nPathLen | ||
| ) | 
Checks if an integer is in the list/path.
| pathAtom | Pointer to the list/path of integers | 
| nNextAtom | Integer to find | 
| nPathLen | Length of the list/path | 
 Here is the caller graph for this function:Checks if an atom is in the list/path.
| pathAtom | Pointer to the list/path of atoms | 
| nNextAtom | Atom to find | 
| nPathLen | List length | 
 Here is the caller graph for this function:| int is_matching_any_delim | ( | char | c, | 
| char * | delims | ||
| ) | 
Check if a character is in the list of possible delimiters.
| c | Character to check | 
| delims | String of delimiter characters | 
 Here is the caller graph for this function:| char * lrtrim | ( | char * | p, | 
| int * | nLen | ||
| ) | 
Trim leading and trailing spaces from a string.
| p | Pointer to the input string | 
| nLen | Length of the trimmed string | 
Trim leading and trailing spaces from a string.
| p | Input string | 
| nLen | Output length of the trimmed string | 
 Here is the caller graph for this function:| int MakeRemovedProtonsString | ( | int | nNumRemovedProtons, | 
| NUM_H * | nNumExchgIsotopicH, | ||
| NUM_H * | nNumRemovedProtonsIsotopic, | ||
| int | bIsotopic, | ||
| char * | szRemovedProtons, | ||
| int * | num_removed_iso_H | ||
| ) | 
Creates a string from the removed protons (?)
| nNumRemovedProtons | Number of removed protons | 
| nNumExchgIsotopicH | Pointer to number of exchangeable isotopic hydrogens | 
| nNumRemovedProtonsIsotopic | Pointer to array of removed protons | 
| bIsotopic | Flag to handle isotopes | 
| szRemovedProtons | Pointer to the removed protons | 
| num_removed_iso_H | Pointer to the number of removed isotopic hydrogens | 
| int mystrncpy | ( | char * | target, | 
| const char * | source, | ||
| unsigned | maxlen | ||
| ) | 
Copies up to maxlen characters INCLUDING end null from source to target. Fills out the rest of the target with null bytes. Protected from non-zero-terminated source and overlapped target/source.
| target | Target string | 
| source | Source string | 
| maxlen | Maximum length to copy | 
 Here is the caller graph for this function:| void mystrrev | ( | char * | p | ) | 
Reverse a string in place.
| p | Pointer to the string to reverse | 
 Here is the caller graph for this function:| int nBondsValenceInpAt | ( | const inp_ATOM * | at, | 
| int * | nNumAltBonds, | ||
| int * | nNumWrongBonds | ||
| ) | 
Gets the number of bond valences.
| at | Pointer to atom list | 
| nNumAltBonds | Pointer to the number of alternative bonds (4) | 
| nNumWrongBonds | Pointer to the number of wrong bonds | 
 Here is the caller graph for this function:| int nBondsValToMetal | ( | inp_ATOM * | at, | 
| int | iat | ||
| ) | 
Gets the number of bond valences to a metal atom.
| at | Pointer to atom list | 
| iat | Atom number | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int needed_unusual_el_valence | ( | int | nPeriodicNum, | 
| int | charge, | ||
| int | radical, | ||
| int | bonds_valence, | ||
| int | actual_bonds_val, | ||
| int | num_H, | ||
| int | num_bonds | ||
| ) | 
Output valence needed to unambiguosly reconstruct number of H.
| nPeriodicNum | Periodic table number | 
| charge | Charge | 
| radical | Radical | 
| bonds_valence | Bonds valence | 
| actual_bonds_val | Actual bonds valence | 
| num_H | Number of hydrogens | 
| num_bonds | Number of bonds | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int nNoMetalBondsValence | ( | inp_ATOM * | at, | 
| int | at_no | ||
| ) | 
Returns the number of non-metal bond valences.
| at | Pointer to atom list | 
| at_no | Atom number | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int nNoMetalNeighIndex | ( | inp_ATOM * | at, | 
| int | at_no | ||
| ) | 
Get the index of the first element that is not a metal.
| at | Pointer to atom list | 
| at_no | Atom number | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int nNoMetalNumBonds | ( | inp_ATOM * | at, | 
| int | at_no | ||
| ) | 
Returns the number of non-metal bonds.
| at | Pointer to atom list | 
| at_no | Atom number | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int nNoMetalOtherNeighIndex | ( | inp_ATOM * | at, | 
| int | at_no, | ||
| int | cur_neigh | ||
| ) | 
Get the index of an element that is not a metal excluding a given index.
| at | Pointer to atom list | 
| at_no | Atom number | 
| cur_neigh | Excluding atom number | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int nNoMetalOtherNeighIndex2 | ( | inp_ATOM * | at, | 
| int | at_no, | ||
| int | cur_neigh, | ||
| int | cur_neigh2 | ||
| ) | 
Get the index of an element that is not a metal excluding a 2 given indexes.
| at | Pointer to atom list | 
| at_no | Atom number | 
| cur_neigh | Excluding atom number 1 | 
| cur_neigh2 | Excluding atom number 2 | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int normalize_string | ( | char * | name | ) | 
Normalize string (remove leading & trailing spaces, replace consecutive spaces with a single space, remove tabs.)
| name | Input string to normalize | 
 Here is the caller graph for this function:| int num_of_H | ( | inp_ATOM * | at, | 
| int | iat | ||
| ) | 
Get the number of hydrogens.
| at | Pointer to atom list | 
| iat | Input atom id | 
 Here is the caller graph for this function:| int read_upto_delim | ( | char ** | pstring, | 
| char * | field, | ||
| int | maxlen, | ||
| char * | delims | ||
| ) | 
Read up to any delimiter from the string.
| pstring | Pointer to input string | 
| field | Pointer to output field | 
| maxlen | Maximum length of the field | 
| delims | Delimiters | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void remove_one_lf | ( | char * | p | ) | 
Remove one line feed character from the end of a string.
| p | Input string | 
Remove one line feed character from the end of a string.
| p | Input string | 
 Here is the caller graph for this function:| void remove_trailing_spaces | ( | char * | p | ) | 
Remove trailing spaces from a string.
| p | Input string | 
 Here is the caller graph for this function:| int SetBitFree | ( | struct tagCANON_GLOBALS * | pCG | ) | 
Frees bit string in canonicalisation data structure.
| pCG | Canonicalisation data structure | 
 Here is the caller graph for this function:| void WriteCoord | ( | char * | str, | 
| double | x | ||
| ) | 
Write coordinate (double) to string.
| str | Pointer to output string | 
| x | Input double | 
 Here is the caller graph for this function:
      
  | 
  extern | 
      
  | 
  extern |