/src/rdkit/Code/GraphMol/QueryOps.h
Line | Count | Source |
1 | | // |
2 | | // Copyright (C) 2003-2021 Greg Landrum and other RDKit contributors |
3 | | // |
4 | | // @@ All Rights Reserved @@ |
5 | | // This file is part of the RDKit. |
6 | | // The contents are covered by the terms of the BSD license |
7 | | // which is included in the file license.txt, found at the root |
8 | | // of the RDKit source tree. |
9 | | // |
10 | | |
11 | | //! \file QueryOps.h |
12 | | /*! |
13 | | \brief Includes a bunch of functionality for handling Atom and Bond queries. |
14 | | */ |
15 | | #include <RDGeneral/export.h> |
16 | | #include <RDGeneral/Dict.h> |
17 | | #ifndef RD_QUERY_OPS_H |
18 | | #define RD_QUERY_OPS_H |
19 | | |
20 | | #include <GraphMol/RDKitBase.h> |
21 | | #include <Query/QueryObjects.h> |
22 | | #include <Query/Query.h> |
23 | | #include <DataStructs/BitVects.h> |
24 | | #include <DataStructs/BitOps.h> |
25 | | #include <functional> |
26 | | |
27 | | #include <functional> |
28 | | #include <limits> |
29 | | |
30 | | #ifdef RDK_BUILD_THREADSAFE_SSS |
31 | | #include <mutex> |
32 | | #include <utility> |
33 | | #endif |
34 | | |
35 | | namespace RDKit { |
36 | | typedef Queries::Query<bool, Atom const *, true> ATOM_BOOL_QUERY; |
37 | | typedef Queries::Query<bool, Bond const *, true> BOND_BOOL_QUERY; |
38 | | |
39 | | typedef Queries::AndQuery<int, Atom const *, true> ATOM_AND_QUERY; |
40 | | typedef Queries::AndQuery<int, Bond const *, true> BOND_AND_QUERY; |
41 | | |
42 | | typedef Queries::OrQuery<int, Atom const *, true> ATOM_OR_QUERY; |
43 | | typedef Queries::OrQuery<int, Bond const *, true> BOND_OR_QUERY; |
44 | | |
45 | | typedef Queries::XOrQuery<int, Atom const *, true> ATOM_XOR_QUERY; |
46 | | typedef Queries::XOrQuery<int, Bond const *, true> BOND_XOR_QUERY; |
47 | | |
48 | | typedef Queries::EqualityQuery<int, Atom const *, true> ATOM_EQUALS_QUERY; |
49 | | typedef Queries::EqualityQuery<int, Bond const *, true> BOND_EQUALS_QUERY; |
50 | | |
51 | | typedef Queries::GreaterQuery<int, Atom const *, true> ATOM_GREATER_QUERY; |
52 | | typedef Queries::GreaterQuery<int, Bond const *, true> BOND_GREATER_QUERY; |
53 | | |
54 | | typedef Queries::GreaterEqualQuery<int, Atom const *, true> |
55 | | ATOM_GREATEREQUAL_QUERY; |
56 | | typedef Queries::GreaterEqualQuery<int, Bond const *, true> |
57 | | BOND_GREATEREQUAL_QUERY; |
58 | | |
59 | | typedef Queries::LessQuery<int, Atom const *, true> ATOM_LESS_QUERY; |
60 | | typedef Queries::LessQuery<int, Bond const *, true> BOND_LESS_QUERY; |
61 | | |
62 | | typedef Queries::LessEqualQuery<int, Atom const *, true> ATOM_LESSEQUAL_QUERY; |
63 | | typedef Queries::LessEqualQuery<int, Bond const *, true> BOND_LESSEQUAL_QUERY; |
64 | | |
65 | | typedef Queries::RangeQuery<int, Atom const *, true> ATOM_RANGE_QUERY; |
66 | | typedef Queries::RangeQuery<int, Bond const *, true> BOND_RANGE_QUERY; |
67 | | |
68 | | typedef Queries::SetQuery<int, Atom const *, true> ATOM_SET_QUERY; |
69 | | typedef Queries::SetQuery<int, Bond const *, true> BOND_SET_QUERY; |
70 | | |
71 | | typedef Queries::Query<int, Bond const *, true> BOND_NULL_QUERY; |
72 | | typedef Queries::Query<int, Atom const *, true> ATOM_NULL_QUERY; |
73 | | |
74 | | // ------------------------------------------------- |
75 | | // common atom queries |
76 | | |
77 | 0 | static inline int queryAtomAromatic(Atom const *at) { |
78 | 0 | return at->getIsAromatic(); |
79 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomAromatic(RDKit::Atom const*) |
80 | 0 | static inline int queryAtomAliphatic(Atom const *at) { |
81 | 0 | return !(at->getIsAromatic()); |
82 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomAliphatic(RDKit::Atom const*) |
83 | 0 | static inline int queryAtomExplicitDegree(Atom const *at) { |
84 | 0 | return at->getDegree(); |
85 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomExplicitDegree(RDKit::Atom const*) |
86 | 0 | static inline int queryAtomTotalDegree(Atom const *at) { |
87 | 0 | return at->getTotalDegree(); |
88 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomTotalDegree(RDKit::Atom const*) |
89 | | //! D and T are treated as "non-hydrogen" here |
90 | 1.60k | static inline int queryAtomNonHydrogenDegree(Atom const *at) { |
91 | 1.60k | int res = 0; |
92 | 1.60k | for (const auto nbri : |
93 | 1.79k | boost::make_iterator_range(at->getOwningMol().getAtomNeighbors(at))) { |
94 | 1.79k | const auto nbr = at->getOwningMol()[nbri]; |
95 | 1.79k | if (nbr->getAtomicNum() != 1 || nbr->getIsotope() > 1) { |
96 | 1.75k | res++; |
97 | 1.75k | } |
98 | 1.79k | } |
99 | | |
100 | 1.60k | return res; |
101 | 1.60k | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) QueryOps.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Line | Count | Source | 90 | 1.60k | static inline int queryAtomNonHydrogenDegree(Atom const *at) { | 91 | 1.60k | int res = 0; | 92 | 1.60k | for (const auto nbri : | 93 | 1.79k | boost::make_iterator_range(at->getOwningMol().getAtomNeighbors(at))) { | 94 | 1.79k | const auto nbr = at->getOwningMol()[nbri]; | 95 | 1.79k | if (nbr->getAtomicNum() != 1 || nbr->getIsotope() > 1) { | 96 | 1.75k | res++; | 97 | 1.75k | } | 98 | 1.79k | } | 99 | | | 100 | 1.60k | return res; | 101 | 1.60k | }; |
Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomNonHydrogenDegree(RDKit::Atom const*) |
102 | | //! D and T are not treated as heavy atoms here |
103 | 0 | static inline int queryAtomHeavyAtomDegree(Atom const *at) { |
104 | 0 | int heavyDegree = 0; |
105 | 0 | for (const auto nbri : |
106 | 0 | boost::make_iterator_range(at->getOwningMol().getAtomNeighbors(at))) { |
107 | 0 | const auto nbr = at->getOwningMol()[nbri]; |
108 | 0 | if (nbr->getAtomicNum() > 1) { |
109 | 0 | heavyDegree++; |
110 | 0 | } |
111 | 0 | } |
112 | |
|
113 | 0 | return heavyDegree; |
114 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHeavyAtomDegree(RDKit::Atom const*) |
115 | 0 | static inline int queryAtomHCount(Atom const *at) { |
116 | 0 | return at->getTotalNumHs(true); |
117 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHCount(RDKit::Atom const*) |
118 | 0 | static inline int queryAtomImplicitHCount(Atom const *at) { |
119 | 0 | return at->getTotalNumHs(false); |
120 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomImplicitHCount(RDKit::Atom const*) |
121 | 0 | static inline int queryAtomHasImplicitH(Atom const *at) { |
122 | 0 | return int(at->getTotalNumHs(false) > 0); |
123 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHasImplicitH(RDKit::Atom const*) |
124 | 0 | static inline int queryAtomImplicitValence(Atom const *at) { |
125 | 0 | return at->getValence(Atom::ValenceType::IMPLICIT); |
126 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomImplicitValence(RDKit::Atom const*) |
127 | 0 | static inline int queryAtomExplicitValence(Atom const *at) { |
128 | 0 | return at->getValence(Atom::ValenceType::EXPLICIT) - at->getNumExplicitHs(); |
129 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomExplicitValence(RDKit::Atom const*) |
130 | 0 | static inline int queryAtomTotalValence(Atom const *at) { |
131 | 0 | return at->getTotalValence(); |
132 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomTotalValence(RDKit::Atom const*) |
133 | 0 | static inline int queryAtomUnsaturated(Atom const *at) { |
134 | 0 | return at->getTotalDegree() < at->getTotalValence(); |
135 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomUnsaturated(RDKit::Atom const*) |
136 | 32.9M | static inline int queryAtomNum(Atom const *at) { return at->getAtomicNum(); }Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomNum(RDKit::Atom const*) QueryOps.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Line | Count | Source | 136 | 32.9M | static inline int queryAtomNum(Atom const *at) { return at->getAtomicNum(); } |
Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomNum(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomNum(RDKit::Atom const*) |
137 | 259k | static inline int makeAtomType(int atomic_num, bool aromatic) { |
138 | 259k | return atomic_num + 1000 * static_cast<int>(aromatic); |
139 | 259k | } Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::makeAtomType(int, bool) Unexecuted instantiation: ROMol.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: MolPickler.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: AtomIterators.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: Chirality.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: new_canon.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: FindStereo.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: Atom.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: QueryAtom.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: QueryBond.cpp:RDKit::makeAtomType(int, bool) QueryOps.cpp:RDKit::makeAtomType(int, bool) Line | Count | Source | 137 | 259k | static inline int makeAtomType(int atomic_num, bool aromatic) { | 138 | 259k | return atomic_num + 1000 * static_cast<int>(aromatic); | 139 | 259k | } |
Unexecuted instantiation: MolOps.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: Aromaticity.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: Kekulize.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: AddHs.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: Subset.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: SmilesParse.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: smarts.tab.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: Canon.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: MolFileParser.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: GenericGroups.cpp:RDKit::makeAtomType(int, bool) Unexecuted instantiation: AdjustQuery.cpp:RDKit::makeAtomType(int, bool) |
140 | 0 | static inline void parseAtomType(int val, int &atomic_num, bool &aromatic) { |
141 | 0 | if (val > 1000) { |
142 | 0 | aromatic = true; |
143 | 0 | atomic_num = val - 1000; |
144 | 0 | } else { |
145 | 0 | aromatic = false; |
146 | 0 | atomic_num = val; |
147 | 0 | } |
148 | 0 | } Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: ROMol.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: MolPickler.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: AtomIterators.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: Chirality.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: new_canon.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: FindStereo.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: Atom.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: QueryAtom.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: QueryBond.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: QueryOps.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: MolOps.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: Aromaticity.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: Kekulize.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: AddHs.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: Subset.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: SmilesParse.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: smarts.tab.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: Canon.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: MolFileParser.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: GenericGroups.cpp:RDKit::parseAtomType(int, int&, bool&) Unexecuted instantiation: AdjustQuery.cpp:RDKit::parseAtomType(int, int&, bool&) |
149 | 0 | static inline bool getAtomTypeIsAromatic(int val) { return val > 1000; }Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: ROMol.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: MolPickler.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: AtomIterators.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: Chirality.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: new_canon.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: FindStereo.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: Atom.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: QueryAtom.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: QueryBond.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: QueryOps.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: MolOps.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: Aromaticity.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: Kekulize.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: AddHs.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: Subset.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: SmilesParse.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: smarts.tab.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: Canon.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: MolFileParser.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: GenericGroups.cpp:RDKit::getAtomTypeIsAromatic(int) Unexecuted instantiation: AdjustQuery.cpp:RDKit::getAtomTypeIsAromatic(int) |
150 | 0 | static inline int getAtomTypeAtomicNum(int val) { |
151 | 0 | if (val > 1000) { |
152 | 0 | return val - 1000; |
153 | 0 | } |
154 | 0 | return val; |
155 | 0 | } Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: ROMol.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: MolPickler.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: AtomIterators.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: Chirality.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: new_canon.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: FindStereo.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: Atom.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: QueryAtom.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: QueryBond.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: QueryOps.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: MolOps.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: Aromaticity.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: Kekulize.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: AddHs.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: Subset.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: SmilesParse.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: smarts.tab.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: Canon.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: MolFileParser.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: GenericGroups.cpp:RDKit::getAtomTypeAtomicNum(int) Unexecuted instantiation: AdjustQuery.cpp:RDKit::getAtomTypeAtomicNum(int) |
156 | | |
157 | 0 | static inline int queryAtomType(Atom const *at) { |
158 | 0 | return makeAtomType(at->getAtomicNum(), at->getIsAromatic()); |
159 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomType(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomType(RDKit::Atom const*) |
160 | | const int massIntegerConversionFactor = 1000; |
161 | 0 | static inline int queryAtomMass(Atom const *at) { |
162 | 0 | return static_cast<int>( |
163 | 0 | std::round(massIntegerConversionFactor * at->getMass())); |
164 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomMass(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomMass(RDKit::Atom const*) |
165 | 0 | static inline int queryAtomIsotope(Atom const *at) { |
166 | 0 | return static_cast<int>(at->getIsotope()); |
167 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomIsotope(RDKit::Atom const*) |
168 | 0 | static inline int queryAtomFormalCharge(Atom const *at) { |
169 | 0 | return static_cast<int>(at->getFormalCharge()); |
170 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomFormalCharge(RDKit::Atom const*) |
171 | 0 | static inline int queryAtomNegativeFormalCharge(Atom const *at) { |
172 | 0 | return static_cast<int>(-1 * at->getFormalCharge()); |
173 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomNegativeFormalCharge(RDKit::Atom const*) |
174 | 0 | static inline int queryAtomHybridization(Atom const *at) { |
175 | 0 | return at->getHybridization(); |
176 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHybridization(RDKit::Atom const*) |
177 | 0 | static inline int queryAtomNumRadicalElectrons(Atom const *at) { |
178 | 0 | return at->getNumRadicalElectrons(); |
179 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomNumRadicalElectrons(RDKit::Atom const*) |
180 | 0 | static inline int queryAtomHasChiralTag(Atom const *at) { |
181 | 0 | return at->getChiralTag() != Atom::CHI_UNSPECIFIED; |
182 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHasChiralTag(RDKit::Atom const*) |
183 | 0 | static inline int queryAtomMissingChiralTag(Atom const *at) { |
184 | 0 | return at->getChiralTag() == Atom::CHI_UNSPECIFIED && |
185 | 0 | at->hasProp(common_properties::_ChiralityPossible); |
186 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomMissingChiralTag(RDKit::Atom const*) |
187 | | |
188 | 0 | static inline int queryAtomHasHeteroatomNbrs(Atom const *at) { |
189 | 0 | ROMol::ADJ_ITER nbrIdx, endNbrs; |
190 | 0 | boost::tie(nbrIdx, endNbrs) = at->getOwningMol().getAtomNeighbors(at); |
191 | 0 | while (nbrIdx != endNbrs) { |
192 | 0 | const Atom *nbr = at->getOwningMol()[*nbrIdx]; |
193 | 0 | if (nbr->getAtomicNum() != 6 && nbr->getAtomicNum() != 1) { |
194 | 0 | return 1; |
195 | 0 | } |
196 | 0 | ++nbrIdx; |
197 | 0 | } |
198 | 0 | return 0; |
199 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHasHeteroatomNbrs(RDKit::Atom const*) |
200 | | |
201 | 0 | static inline int queryAtomNumHeteroatomNbrs(Atom const *at) { |
202 | 0 | int res = 0; |
203 | 0 | ROMol::ADJ_ITER nbrIdx, endNbrs; |
204 | 0 | boost::tie(nbrIdx, endNbrs) = at->getOwningMol().getAtomNeighbors(at); |
205 | 0 | while (nbrIdx != endNbrs) { |
206 | 0 | const Atom *nbr = at->getOwningMol()[*nbrIdx]; |
207 | 0 | if (nbr->getAtomicNum() != 6 && nbr->getAtomicNum() != 1) { |
208 | 0 | ++res; |
209 | 0 | } |
210 | 0 | ++nbrIdx; |
211 | 0 | } |
212 | 0 | return res; |
213 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomNumHeteroatomNbrs(RDKit::Atom const*) |
214 | | |
215 | 0 | static inline int queryAtomHasAliphaticHeteroatomNbrs(Atom const *at) { |
216 | 0 | ROMol::ADJ_ITER nbrIdx, endNbrs; |
217 | 0 | boost::tie(nbrIdx, endNbrs) = at->getOwningMol().getAtomNeighbors(at); |
218 | 0 | while (nbrIdx != endNbrs) { |
219 | 0 | const Atom *nbr = at->getOwningMol()[*nbrIdx]; |
220 | 0 | if ((!nbr->getIsAromatic()) && nbr->getAtomicNum() != 6 && |
221 | 0 | nbr->getAtomicNum() != 1) { |
222 | 0 | return 1; |
223 | 0 | } |
224 | 0 | ++nbrIdx; |
225 | 0 | } |
226 | 0 | return 0; |
227 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHasAliphaticHeteroatomNbrs(RDKit::Atom const*) |
228 | | |
229 | 0 | static inline int queryAtomNumAliphaticHeteroatomNbrs(Atom const *at) { |
230 | 0 | int res = 0; |
231 | 0 | ROMol::ADJ_ITER nbrIdx, endNbrs; |
232 | 0 | boost::tie(nbrIdx, endNbrs) = at->getOwningMol().getAtomNeighbors(at); |
233 | 0 | while (nbrIdx != endNbrs) { |
234 | 0 | const Atom *nbr = at->getOwningMol()[*nbrIdx]; |
235 | 0 | if ((!nbr->getIsAromatic()) && nbr->getAtomicNum() != 6 && |
236 | 0 | nbr->getAtomicNum() != 1) { |
237 | 0 | ++res; |
238 | 0 | } |
239 | 0 | ++nbrIdx; |
240 | 0 | } |
241 | 0 | return res; |
242 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomNumAliphaticHeteroatomNbrs(RDKit::Atom const*) |
243 | | |
244 | | RDKIT_GRAPHMOL_EXPORT unsigned int queryAtomBondProduct(Atom const *at); |
245 | | RDKIT_GRAPHMOL_EXPORT unsigned int queryAtomAllBondProduct(Atom const *at); |
246 | | |
247 | | // ------------------------------------------------- |
248 | | // common bond queries |
249 | | |
250 | 0 | static inline int queryBondOrder(Bond const *bond) { |
251 | 0 | return static_cast<int>(bond->getBondType()); |
252 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondOrder(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondOrder(RDKit::Bond const*) |
253 | 0 | static inline int queryBondIsSingleOrAromatic(Bond const *bond) { |
254 | 0 | return static_cast<int>(bond->getBondType() == Bond::SINGLE || |
255 | 0 | bond->getBondType() == Bond::AROMATIC); |
256 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondIsSingleOrAromatic(RDKit::Bond const*) |
257 | 0 | static inline int queryBondIsDoubleOrAromatic(Bond const *bond) { |
258 | 0 | return static_cast<int>(bond->getBondType() == Bond::DOUBLE || |
259 | 0 | bond->getBondType() == Bond::AROMATIC); |
260 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondIsDoubleOrAromatic(RDKit::Bond const*) |
261 | 0 | static inline int queryBondIsSingleOrDouble(Bond const *bond) { |
262 | 0 | return static_cast<int>(bond->getBondType() == Bond::SINGLE || |
263 | 0 | bond->getBondType() == Bond::DOUBLE); |
264 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondIsSingleOrDouble(RDKit::Bond const*) |
265 | 0 | static inline int queryBondIsSingleOrDoubleOrAromatic(Bond const *bond) { |
266 | 0 | return static_cast<int>(bond->getBondType() == Bond::SINGLE || |
267 | 0 | bond->getBondType() == Bond::DOUBLE || |
268 | 0 | bond->getBondType() == Bond::AROMATIC); |
269 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondIsSingleOrDoubleOrAromatic(RDKit::Bond const*) |
270 | 0 | static inline int queryBondDir(Bond const *bond) { |
271 | 0 | return static_cast<int>(bond->getBondDir()); |
272 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondDir(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondDir(RDKit::Bond const*) |
273 | 0 | static inline int queryIsBondInNRings(Bond const *at) { |
274 | 0 | return at->getOwningMol().getRingInfo()->numBondRings(at->getIdx()); |
275 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryIsBondInNRings(RDKit::Bond const*) |
276 | 0 | static inline int queryBondHasStereo(Bond const *bnd) { |
277 | 0 | return bnd->getStereo() > Bond::STEREONONE; |
278 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondHasStereo(RDKit::Bond const*) |
279 | | |
280 | | // ------------------------------------------------- |
281 | | // ring queries |
282 | | |
283 | 0 | static inline int queryIsAtomInNRings(Atom const *at) { |
284 | 0 | return at->getOwningMol().getRingInfo()->numAtomRings(at->getIdx()); |
285 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryIsAtomInNRings(RDKit::Atom const*) |
286 | 1.11M | static inline int queryIsAtomInRing(Atom const *at) { |
287 | 1.11M | return at->getOwningMol().getRingInfo()->numAtomRings(at->getIdx()) != 0; |
288 | 1.11M | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) new_canon.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Line | Count | Source | 286 | 1.11M | static inline int queryIsAtomInRing(Atom const *at) { | 287 | 1.11M | return at->getOwningMol().getRingInfo()->numAtomRings(at->getIdx()) != 0; | 288 | 1.11M | }; |
Unexecuted instantiation: FindStereo.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryIsAtomInRing(RDKit::Atom const*) |
289 | 0 | static inline int queryAtomHasRingBond(Atom const *at) { |
290 | 0 | ROMol::OBOND_ITER_PAIR atomBonds = at->getOwningMol().getAtomBonds(at); |
291 | 0 | while (atomBonds.first != atomBonds.second) { |
292 | 0 | unsigned int bondIdx = |
293 | 0 | at->getOwningMol().getTopology()[*atomBonds.first]->getIdx(); |
294 | 0 | if (at->getOwningMol().getRingInfo()->numBondRings(bondIdx)) { |
295 | 0 | return 1; |
296 | 0 | } |
297 | 0 | ++atomBonds.first; |
298 | 0 | } |
299 | 0 | return 0; |
300 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomHasRingBond(RDKit::Atom const*) |
301 | | RDKIT_GRAPHMOL_EXPORT int queryIsAtomBridgehead(Atom const *at); |
302 | | |
303 | 0 | static inline int queryIsBondInRing(Bond const *bond) { |
304 | 0 | return bond->getOwningMol().getRingInfo()->numBondRings(bond->getIdx()) != 0; |
305 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryIsBondInRing(RDKit::Bond const*) |
306 | 0 | static inline int queryAtomMinRingSize(Atom const *at) { |
307 | 0 | return at->getOwningMol().getRingInfo()->minAtomRingSize(at->getIdx()); |
308 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomMinRingSize(RDKit::Atom const*) |
309 | 0 | static inline int queryBondMinRingSize(Bond const *bond) { |
310 | 0 | return bond->getOwningMol().getRingInfo()->minBondRingSize(bond->getIdx()); |
311 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: Atom.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: Subset.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: Canon.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryBondMinRingSize(RDKit::Bond const*) |
312 | | |
313 | 2.45k | static inline int queryAtomRingBondCount(Atom const *at) { |
314 | | // EFF: cache this result |
315 | 2.45k | int res = 0; |
316 | 2.45k | ROMol::OBOND_ITER_PAIR atomBonds = at->getOwningMol().getAtomBonds(at); |
317 | 7.35k | while (atomBonds.first != atomBonds.second) { |
318 | 4.90k | unsigned int bondIdx = |
319 | 4.90k | at->getOwningMol().getTopology()[*atomBonds.first]->getIdx(); |
320 | 4.90k | if (at->getOwningMol().getRingInfo()->numBondRings(bondIdx)) { |
321 | 732 | res++; |
322 | 732 | } |
323 | 4.90k | ++atomBonds.first; |
324 | 4.90k | } |
325 | 2.45k | return res; |
326 | 2.45k | } Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) QueryOps.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Line | Count | Source | 313 | 2.45k | static inline int queryAtomRingBondCount(Atom const *at) { | 314 | | // EFF: cache this result | 315 | 2.45k | int res = 0; | 316 | 2.45k | ROMol::OBOND_ITER_PAIR atomBonds = at->getOwningMol().getAtomBonds(at); | 317 | 7.35k | while (atomBonds.first != atomBonds.second) { | 318 | 4.90k | unsigned int bondIdx = | 319 | 4.90k | at->getOwningMol().getTopology()[*atomBonds.first]->getIdx(); | 320 | 4.90k | if (at->getOwningMol().getRingInfo()->numBondRings(bondIdx)) { | 321 | 732 | res++; | 322 | 732 | } | 323 | 4.90k | ++atomBonds.first; | 324 | 4.90k | } | 325 | 2.45k | return res; | 326 | 2.45k | } |
Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomRingBondCount(RDKit::Atom const*) |
327 | | |
328 | 0 | static inline int queryAtomIsInRingOfSize(Atom const *at, int tgt) { |
329 | 0 | if (at->getOwningMol().getRingInfo()->isAtomInRingOfSize(at->getIdx(), tgt)) { |
330 | 0 | return tgt; |
331 | 0 | } else { |
332 | 0 | return 0; |
333 | 0 | } |
334 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int) |
335 | | //! returns the size of an SSSR ring the atom is in that's within the specified |
336 | | //! range, or a value outside the range if there are no rings with a size in the |
337 | | //! range. passing -1 for a bound leaves the range without a limit in that |
338 | | //! direction |
339 | | //! always returns a value outside the range for atoms that are not in a ring |
340 | | static inline int queryAtomIsInRingOfSize(Atom const *at, int lower, int upper, |
341 | | bool lowerOpen = false, |
342 | 0 | bool upperOpen = false) { |
343 | 0 | const auto ri = at->getOwningMol().getRingInfo(); |
344 | 0 | for (const auto ringSize : ri->atomRingSizes(at->getIdx())) { |
345 | 0 | if ((ringSize > lower || (ringSize == lower && !lowerOpen)) && |
346 | 0 | (upper < 0 || |
347 | 0 | (ringSize < upper || (ringSize == upper && !upperOpen)))) { |
348 | 0 | return ringSize; |
349 | 0 | } |
350 | 0 | } |
351 | | // we didn't find it, return a result that's not in the acceptable range: |
352 | 0 | if (lower > -1) { |
353 | 0 | return -1; |
354 | 0 | } else if (upper > -1) { |
355 | 0 | return std::numeric_limits<int>::max(); |
356 | 0 | } else { |
357 | 0 | return 0; |
358 | 0 | } |
359 | 0 | }; Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomIsInRingOfSize(RDKit::Atom const*, int, int, bool, bool) |
360 | | template <int tgt> |
361 | | int queryAtomIsInRingOfSize(Atom const *at) { |
362 | | if (at->getOwningMol().getRingInfo()->isAtomInRingOfSize(at->getIdx(), tgt)) { |
363 | | return tgt; |
364 | | } else { |
365 | | return 0; |
366 | | } |
367 | | }; |
368 | | template <int tgt> |
369 | 0 | int queryBondIsInRingOfSize(Bond const *bond) { |
370 | 0 | if (bond->getOwningMol().getRingInfo()->isBondInRingOfSize(bond->getIdx(), |
371 | 0 | tgt)) { |
372 | 0 | return tgt; |
373 | 0 | } else { |
374 | 0 | return 0; |
375 | 0 | } |
376 | 0 | }; Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<3>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<4>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<5>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<6>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<7>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<8>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<9>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<10>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<11>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<12>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<13>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<14>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<15>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<16>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<17>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<18>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<19>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::queryBondIsInRingOfSize<20>(RDKit::Bond const*) |
377 | | |
378 | | template <class T> |
379 | | T *makeAtomSimpleQuery(int what, std::function<int(Atom const *)> func, |
380 | 3.71M | const std::string &description = "Atom Simple") { |
381 | 3.71M | T *res = new T; |
382 | 3.71M | res->setVal(what); |
383 | 3.71M | res->setDataFunc(func); |
384 | 3.71M | res->setDescription(description); |
385 | 3.71M | return res; |
386 | 3.71M | } Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makeAtomSimpleQuery<Queries::EqualityQuery<int, RDKit::Atom const*, true> >(int, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 380 | 3.70M | const std::string &description = "Atom Simple") { | 381 | 3.70M | T *res = new T; | 382 | 3.70M | res->setVal(what); | 383 | 3.70M | res->setDataFunc(func); | 384 | 3.70M | res->setDescription(description); | 385 | 3.70M | return res; | 386 | 3.70M | } |
Queries::GreaterEqualQuery<int, RDKit::Atom const*, true>* RDKit::makeAtomSimpleQuery<Queries::GreaterEqualQuery<int, RDKit::Atom const*, true> >(int, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 380 | 398 | const std::string &description = "Atom Simple") { | 381 | 398 | T *res = new T; | 382 | 398 | res->setVal(what); | 383 | 398 | res->setDataFunc(func); | 384 | 398 | res->setDescription(description); | 385 | 398 | return res; | 386 | 398 | } |
Queries::LessEqualQuery<int, RDKit::Atom const*, true>* RDKit::makeAtomSimpleQuery<Queries::LessEqualQuery<int, RDKit::Atom const*, true> >(int, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 380 | 9.78k | const std::string &description = "Atom Simple") { | 381 | 9.78k | T *res = new T; | 382 | 9.78k | res->setVal(what); | 383 | 9.78k | res->setDataFunc(func); | 384 | 9.78k | res->setDescription(description); | 385 | 9.78k | return res; | 386 | 9.78k | } |
|
387 | | |
388 | | static inline ATOM_RANGE_QUERY *makeAtomRangeQuery( |
389 | | int lower, int upper, bool lowerOpen, bool upperOpen, |
390 | | std::function<int(Atom const *)> func, |
391 | 60 | const std::string &description = "Atom Range") { |
392 | 60 | ATOM_RANGE_QUERY *res = new ATOM_RANGE_QUERY(lower, upper); |
393 | 60 | res->setDataFunc(func); |
394 | 60 | res->setDescription(description); |
395 | 60 | res->setEndsOpen(lowerOpen, upperOpen); |
396 | 60 | return res; |
397 | 60 | } Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: ROMol.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: MolPickler.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: AtomIterators.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Chirality.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: new_canon.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: FindStereo.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Atom.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: QueryAtom.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: QueryBond.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: QueryOps.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: MolOps.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Aromaticity.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Kekulize.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: AddHs.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Subset.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: SmilesParse.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) smarts.tab.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 391 | 60 | const std::string &description = "Atom Range") { | 392 | 60 | ATOM_RANGE_QUERY *res = new ATOM_RANGE_QUERY(lower, upper); | 393 | 60 | res->setDataFunc(func); | 394 | 60 | res->setDescription(description); | 395 | 60 | res->setEndsOpen(lowerOpen, upperOpen); | 396 | 60 | return res; | 397 | 60 | } |
Unexecuted instantiation: lex.yysmarts.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Canon.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: MolFileParser.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: GenericGroups.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: AdjustQuery.cpp:RDKit::makeAtomRangeQuery(int, int, bool, bool, std::__1::function<int (RDKit::Atom const*)>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) |
398 | | |
399 | | //! returns a Query for matching atomic number |
400 | | template <class T> |
401 | | T *makeAtomNumQuery(int what, const std::string &descr) { |
402 | | return makeAtomSimpleQuery<T>(what, queryAtomNum, descr); |
403 | | } |
404 | | //! \overload |
405 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomNumQuery(int what); |
406 | | |
407 | | //! returns a Query for matching atomic number and aromaticity |
408 | | template <class T> |
409 | | T *makeAtomTypeQuery(int num, int aromatic, const std::string &descr) { |
410 | | return makeAtomSimpleQuery<T>(makeAtomType(num, aromatic), queryAtomType, |
411 | | descr); |
412 | | } |
413 | | //! \overload |
414 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomTypeQuery(int num, |
415 | | int aromatic); |
416 | | |
417 | | //! returns a Query for matching implicit valence |
418 | | template <class T> |
419 | | T *makeAtomImplicitValenceQuery(int what, const std::string &descr) { |
420 | | return makeAtomSimpleQuery<T>(what, queryAtomImplicitValence, descr); |
421 | | } |
422 | | //! \overload |
423 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomImplicitValenceQuery(int what); |
424 | | |
425 | | //! returns a Query for matching explicit valence |
426 | | template <class T> |
427 | | T *makeAtomExplicitValenceQuery(int what, const std::string &descr) { |
428 | | return makeAtomSimpleQuery<T>(what, queryAtomExplicitValence, descr); |
429 | | } |
430 | | //! \overload |
431 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomExplicitValenceQuery(int what); |
432 | | |
433 | | //! returns a Query for matching total valence |
434 | | template <class T> |
435 | | T *makeAtomTotalValenceQuery(int what, const std::string &descr) { |
436 | | return makeAtomSimpleQuery<T>(what, queryAtomTotalValence, descr); |
437 | | } |
438 | | //! \overload |
439 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomTotalValenceQuery(int what); |
440 | | |
441 | | //! returns a Query for matching explicit degree |
442 | | template <class T> |
443 | | T *makeAtomExplicitDegreeQuery(int what, const std::string &descr) { |
444 | | return makeAtomSimpleQuery<T>(what, queryAtomExplicitDegree, descr); |
445 | | } |
446 | | //! \overload |
447 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomExplicitDegreeQuery(int what); |
448 | | |
449 | | //! returns a Query for matching atomic degree |
450 | | template <class T> |
451 | | T *makeAtomTotalDegreeQuery(int what, const std::string &descr) { |
452 | | return makeAtomSimpleQuery<T>(what, queryAtomTotalDegree, descr); |
453 | | } |
454 | | //! \overload |
455 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomTotalDegreeQuery(int what); |
456 | | |
457 | | //! returns a Query for matching heavy atom degree |
458 | | template <class T> |
459 | | T *makeAtomHeavyAtomDegreeQuery(int what, const std::string &descr) { |
460 | | return makeAtomSimpleQuery<T>(what, queryAtomHeavyAtomDegree, descr); |
461 | | } |
462 | | //! \overload |
463 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomHeavyAtomDegreeQuery(int what); |
464 | | |
465 | | //! returns a Query for matching hydrogen count |
466 | | template <class T> |
467 | | T *makeAtomHCountQuery(int what, const std::string &descr) { |
468 | | return makeAtomSimpleQuery<T>(what, queryAtomHCount, descr); |
469 | | } |
470 | | //! \overload |
471 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomHCountQuery(int what); |
472 | | |
473 | | //! returns a Query for matching ring atoms |
474 | | template <class T> |
475 | | T *makeAtomHasImplicitHQuery(const std::string &descr) { |
476 | | return makeAtomSimpleQuery<T>(true, queryAtomHasImplicitH, descr); |
477 | | } |
478 | | //! \overload |
479 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomHasImplicitHQuery(); |
480 | | |
481 | | //! returns a Query for matching implicit hydrogen count |
482 | | template <class T> |
483 | | T *makeAtomImplicitHCountQuery(int what, const std::string &descr) { |
484 | | return makeAtomSimpleQuery<T>(what, queryAtomImplicitHCount, descr); |
485 | | } |
486 | | //! \overload |
487 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomImplicitHCountQuery(int what); |
488 | | |
489 | | //! returns a Query for matching the \c isAromatic flag |
490 | | template <class T> |
491 | | T *makeAtomAromaticQuery(const std::string &descr) { |
492 | | return makeAtomSimpleQuery<T>(true, queryAtomAromatic, descr); |
493 | | } |
494 | | //! \overload |
495 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomAromaticQuery(); |
496 | | |
497 | | //! returns a Query for matching aliphatic atoms |
498 | | template <class T> |
499 | | T *makeAtomAliphaticQuery(const std::string &descr) { |
500 | | return makeAtomSimpleQuery<T>(true, queryAtomAliphatic, descr); |
501 | | } |
502 | | //! \overload |
503 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomAliphaticQuery(); |
504 | | |
505 | | //! returns a Query for matching atoms with a particular mass |
506 | | template <class T> |
507 | | T *makeAtomMassQuery(int what, const std::string &descr) { |
508 | | return makeAtomSimpleQuery<T>(massIntegerConversionFactor * what, |
509 | | queryAtomMass, descr); |
510 | | } |
511 | | //! \overload |
512 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomMassQuery(int what); |
513 | | |
514 | | //! returns a Query for matching atoms with a particular isotope |
515 | | template <class T> |
516 | | T *makeAtomIsotopeQuery(int what, const std::string &descr) { |
517 | | return makeAtomSimpleQuery<T>(what, queryAtomIsotope, descr); |
518 | | } |
519 | | //! \overload |
520 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomIsotopeQuery(int what); |
521 | | |
522 | | //! returns a Query for matching formal charge |
523 | | template <class T> |
524 | | T *makeAtomFormalChargeQuery(int what, const std::string &descr) { |
525 | | return makeAtomSimpleQuery<T>(what, queryAtomFormalCharge, descr); |
526 | | } |
527 | | //! \overload |
528 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomFormalChargeQuery(int what); |
529 | | |
530 | | //! returns a Query for matching negative formal charges (i.e. a query val of 1 |
531 | | //! matches a formal charge of -1) |
532 | | template <class T> |
533 | | T *makeAtomNegativeFormalChargeQuery(int what, const std::string &descr) { |
534 | | return makeAtomSimpleQuery<T>(what, queryAtomNegativeFormalCharge, descr); |
535 | | } |
536 | | //! \overload |
537 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomNegativeFormalChargeQuery( |
538 | | int what); |
539 | | |
540 | | //! returns a Query for matching hybridization |
541 | | template <class T> |
542 | | T *makeAtomHybridizationQuery(int what, const std::string &descr) { |
543 | | return makeAtomSimpleQuery<T>(what, queryAtomHybridization, descr); |
544 | | } |
545 | | //! \overload |
546 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomHybridizationQuery(int what); |
547 | | |
548 | | //! returns a Query for matching the number of radical electrons |
549 | | template <class T> |
550 | | T *makeAtomNumRadicalElectronsQuery(int what, const std::string &descr) { |
551 | | return makeAtomSimpleQuery<T>(what, queryAtomNumRadicalElectrons, descr); |
552 | | } |
553 | | //! \overload |
554 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomNumRadicalElectronsQuery( |
555 | | int what); |
556 | | |
557 | | //! returns a Query for matching whether or not chirality has been set on the |
558 | | //! atom |
559 | | template <class T> |
560 | | T *makeAtomHasChiralTagQuery(const std::string &descr) { |
561 | | return makeAtomSimpleQuery<T>(true, queryAtomHasChiralTag, descr); |
562 | | } |
563 | | //! \overloadquery |
564 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomHasChiralTagQuery(); |
565 | | |
566 | | //! returns a Query for matching whether or not a potentially chiral atom is |
567 | | //! missing a chiral tag |
568 | | template <class T> |
569 | | T *makeAtomMissingChiralTagQuery(const std::string &descr) { |
570 | | return makeAtomSimpleQuery<T>(true, queryAtomMissingChiralTag, descr); |
571 | | } |
572 | | //! \overloadquery |
573 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomMissingChiralTagQuery(); |
574 | | |
575 | | //! returns a Query for matching atoms with unsaturation: |
576 | | template <class T> |
577 | | T *makeAtomUnsaturatedQuery(const std::string &descr) { |
578 | | return makeAtomSimpleQuery<T>(true, queryAtomUnsaturated, descr); |
579 | | } |
580 | | //! \overload |
581 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomUnsaturatedQuery(); |
582 | | |
583 | | //! returns a Query for matching ring atoms |
584 | | template <class T> |
585 | | T *makeAtomInRingQuery(const std::string &descr) { |
586 | | return makeAtomSimpleQuery<T>(true, queryIsAtomInRing, descr); |
587 | | } |
588 | | //! \overload |
589 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomInRingQuery(); |
590 | | |
591 | | //! returns a Query for matching atoms in a particular number of rings |
592 | | template <class T> |
593 | | T *makeAtomInNRingsQuery(int what, const std::string &descr) { |
594 | | return makeAtomSimpleQuery<T>(what, queryIsAtomInNRings, descr); |
595 | | } |
596 | | //! \overload |
597 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomInNRingsQuery(int what); |
598 | | |
599 | | //! returns a Query for matching atoms in rings of a particular size |
600 | | template <class T> |
601 | | T *makeAtomInRingOfSizeQuery(int tgt, const std::string &descr); |
602 | | //! \overload |
603 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomInRingOfSizeQuery(int tgt); |
604 | | //! \overload |
605 | | RDKIT_GRAPHMOL_EXPORT ATOM_RANGE_QUERY *makeAtomInRingOfSizeQuery( |
606 | | int lower, int upper, bool lowerOpen = false, bool upperOpen = false); |
607 | | |
608 | | //! returns a Query for matching an atom's minimum ring size |
609 | | template <class T> |
610 | | T *makeAtomMinRingSizeQuery(int tgt, const std::string &descr) { |
611 | | return makeAtomSimpleQuery<T>(tgt, queryAtomMinRingSize, descr); |
612 | | } |
613 | | //! \overload |
614 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomMinRingSizeQuery(int tgt); |
615 | | |
616 | | //! returns a Query for matching atoms with a particular number of ring bonds |
617 | | template <class T> |
618 | | T *makeAtomRingBondCountQuery(int what, const std::string &descr) { |
619 | | return makeAtomSimpleQuery<T>(what, queryAtomRingBondCount, descr); |
620 | | } |
621 | | //! \overload |
622 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomRingBondCountQuery(int what); |
623 | | |
624 | | //! returns a Query for matching generic A atoms (heavy atoms) |
625 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAAtomQuery(); |
626 | | //! returns a Query for matching generic AH atoms (any atom) |
627 | | RDKIT_GRAPHMOL_EXPORT ATOM_NULL_QUERY *makeAHAtomQuery(); |
628 | | //! returns a Query for matching generic Q atoms (heteroatoms) |
629 | | RDKIT_GRAPHMOL_EXPORT ATOM_OR_QUERY *makeQAtomQuery(); |
630 | | //! returns a Query for matching generic QH atoms (heteroatom or H) |
631 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeQHAtomQuery(); |
632 | | //! returns a Query for matching generic X atoms (halogens) |
633 | | RDKIT_GRAPHMOL_EXPORT ATOM_OR_QUERY *makeXAtomQuery(); |
634 | | //! returns a Query for matching generic XH atoms (halogen or H) |
635 | | RDKIT_GRAPHMOL_EXPORT ATOM_OR_QUERY *makeXHAtomQuery(); |
636 | | //! returns a Query for matching generic M atoms (metals) |
637 | | RDKIT_GRAPHMOL_EXPORT ATOM_OR_QUERY *makeMAtomQuery(); |
638 | | //! returns a Query for matching generic MH atoms (metals or H) |
639 | | RDKIT_GRAPHMOL_EXPORT ATOM_OR_QUERY *makeMHAtomQuery(); |
640 | | |
641 | | // We support the same special atom queries that we can read from |
642 | | // CXSMILES |
643 | | const std::vector<std::string> complexQueries = {"A", "AH", "Q", "QH", |
644 | | "X", "XH", "M", "MH"}; |
645 | | RDKIT_GRAPHMOL_EXPORT void convertComplexNameToQuery(Atom *query, |
646 | | std::string_view symb); |
647 | | |
648 | | //! returns a Query for matching atoms that have ring bonds |
649 | | template <class T> |
650 | | T *makeAtomHasRingBondQuery(const std::string &descr) { |
651 | | return makeAtomSimpleQuery<T>(1, queryAtomHasRingBond, descr); |
652 | | } |
653 | | //! \overload |
654 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomHasRingBondQuery(); |
655 | | |
656 | | //! returns a Query for matching the number of heteroatom neighbors |
657 | | template <class T> |
658 | | T *makeAtomNumHeteroatomNbrsQuery(int what, const std::string &descr) { |
659 | | return makeAtomSimpleQuery<T>(what, queryAtomNumHeteroatomNbrs, descr); |
660 | | } |
661 | | //! \overload |
662 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomNumHeteroatomNbrsQuery( |
663 | | int what); |
664 | | |
665 | | //! returns a Query for matching atoms that have heteroatom neighbors |
666 | | template <class T> |
667 | | T *makeAtomHasHeteroatomNbrsQuery(const std::string &descr) { |
668 | | return makeAtomSimpleQuery<T>(1, queryAtomHasHeteroatomNbrs, descr); |
669 | | } |
670 | | //! \overload |
671 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomHasHeteroatomNbrsQuery(); |
672 | | |
673 | | //! returns a Query for matching the number of aliphatic heteroatom neighbors |
674 | | template <class T> |
675 | | T *makeAtomNumAliphaticHeteroatomNbrsQuery(int what, const std::string &descr) { |
676 | | return makeAtomSimpleQuery<T>(what, queryAtomNumAliphaticHeteroatomNbrs, |
677 | | descr); |
678 | | } |
679 | | //! \overload |
680 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY * |
681 | | makeAtomNumAliphaticHeteroatomNbrsQuery(int what); |
682 | | |
683 | | //! returns a Query for matching atoms that have heteroatom neighbors |
684 | | template <class T> |
685 | | T *makeAtomHasAliphaticHeteroatomNbrsQuery(const std::string &descr) { |
686 | | return makeAtomSimpleQuery<T>(1, queryAtomHasAliphaticHeteroatomNbrs, descr); |
687 | | } |
688 | | //! \overload |
689 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY * |
690 | | makeAtomHasAliphaticHeteroatomNbrsQuery(); |
691 | | |
692 | | //! returns a Query for matching the number of non-hydrogen neighbors |
693 | | template <class T> |
694 | | T *makeAtomNonHydrogenDegreeQuery(int what, const std::string &descr) { |
695 | | return makeAtomSimpleQuery<T>(what, queryAtomNonHydrogenDegree, descr); |
696 | | } |
697 | | //! \overload |
698 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomNonHydrogenDegreeQuery( |
699 | | int what); |
700 | | |
701 | | //! returns a Query for matching bridgehead atoms |
702 | | template <class T> |
703 | | T *makeAtomIsBridgeheadQuery(const std::string &descr) { |
704 | | return makeAtomSimpleQuery<T>(true, queryIsAtomBridgehead, descr); |
705 | | } |
706 | | //! \overload |
707 | | RDKIT_GRAPHMOL_EXPORT ATOM_EQUALS_QUERY *makeAtomIsBridgeheadQuery(); |
708 | | |
709 | | //! returns a Query for matching bond orders |
710 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeBondOrderEqualsQuery( |
711 | | Bond::BondType what); |
712 | | //! returns a Query for unspecified SMARTS bonds |
713 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeSingleOrAromaticBondQuery(); |
714 | | //! returns a Query for double|aromatic bonds |
715 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeDoubleOrAromaticBondQuery(); |
716 | | //! returns a Query for single|double bonds |
717 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeSingleOrDoubleBondQuery(); |
718 | | //! returns a Query for tautomeric bonds |
719 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY * |
720 | | makeSingleOrDoubleOrAromaticBondQuery(); |
721 | | |
722 | | //! returns a Query for matching bond directions |
723 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeBondDirEqualsQuery( |
724 | | Bond::BondDir what); |
725 | | //! returns a Query for matching bonds with stereo set |
726 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeBondHasStereoQuery(); |
727 | | //! returns a Query for matching ring bonds |
728 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeBondIsInRingQuery(); |
729 | | //! returns a Query for matching bonds in rings of a particular size |
730 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeBondInRingOfSizeQuery(int what); |
731 | | //! returns a Query for matching a bond's minimum ring size |
732 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeBondMinRingSizeQuery(int what); |
733 | | //! returns a Query for matching bonds in a particular number of rings |
734 | | RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY *makeBondInNRingsQuery(int tgt); |
735 | | |
736 | | //! returns a Query for matching any bond |
737 | | RDKIT_GRAPHMOL_EXPORT BOND_NULL_QUERY *makeBondNullQuery(); |
738 | | //! returns a Query for matching any atom |
739 | | RDKIT_GRAPHMOL_EXPORT ATOM_NULL_QUERY *makeAtomNullQuery(); |
740 | | |
741 | 0 | static inline int queryAtomRingMembership(Atom const *at) { |
742 | 0 | return static_cast<int>( |
743 | 0 | at->getOwningMol().getRingInfo()->numAtomRings(at->getIdx())); |
744 | 0 | } Unexecuted instantiation: mol_deserialization_fuzzer.cc:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: ROMol.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: MolPickler.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: AtomIterators.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: Chirality.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: new_canon.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: FindStereo.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: Atom.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: QueryAtom.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: QueryBond.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: QueryOps.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: MolOps.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: Aromaticity.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: Kekulize.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: AddHs.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: Subset.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: SmilesParse.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: SmilesParseOps.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: CXSmilesOps.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: smarts.tab.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: lex.yysmarts.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: lex.yysmiles.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: Canon.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: MolFileParser.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: GenericGroups.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) Unexecuted instantiation: AdjustQuery.cpp:RDKit::queryAtomRingMembership(RDKit::Atom const*) |
745 | | // I'm pretty sure that this typedef shouldn't be necessary, |
746 | | // but VC++ generates a warning about const Atom const * in |
747 | | // the definition of Match, then complains about an override |
748 | | // that differs only by const/volatile (c4301), then generates |
749 | | // incorrect code if we don't do this... so let's do it. |
750 | | typedef Atom const *ConstAtomPtr; |
751 | | |
752 | | class RDKIT_GRAPHMOL_EXPORT AtomRingQuery |
753 | | : public Queries::EqualityQuery<int, ConstAtomPtr, true> { |
754 | | public: |
755 | 0 | AtomRingQuery() : Queries::EqualityQuery<int, ConstAtomPtr, true>(-1) { |
756 | | // default is to just do a number of rings query: |
757 | 0 | this->setDescription("AtomInNRings"); |
758 | 0 | this->setDataFunc(queryAtomRingMembership); |
759 | 0 | } |
760 | | explicit AtomRingQuery(int v) |
761 | 93.0k | : Queries::EqualityQuery<int, ConstAtomPtr, true>(v) { |
762 | | // default is to just do a number of rings query: |
763 | 93.0k | this->setDescription("AtomInNRings"); |
764 | 93.0k | this->setDataFunc(queryAtomRingMembership); |
765 | 93.0k | } |
766 | | |
767 | 0 | bool Match(const ConstAtomPtr what) const override { |
768 | 0 | int v = this->TypeConvert(what, Queries::Int2Type<true>()); |
769 | 0 | bool res; |
770 | 0 | if (this->d_val < 0) { |
771 | 0 | res = v != 0; |
772 | 0 | } else { |
773 | 0 | res = !Queries::queryCmp(v, this->d_val, this->d_tol); |
774 | 0 | } |
775 | 0 | if (this->getNegation()) { |
776 | 0 | res = !res; |
777 | 0 | } |
778 | 0 | return res; |
779 | 0 | } |
780 | | |
781 | | //! returns a copy of this query |
782 | 56.3k | Queries::Query<int, ConstAtomPtr, true> *copy() const override { |
783 | 56.3k | AtomRingQuery *res = new AtomRingQuery(this->d_val); |
784 | 56.3k | res->setNegation(getNegation()); |
785 | 56.3k | res->setTol(this->getTol()); |
786 | 56.3k | res->d_description = this->d_description; |
787 | 56.3k | res->d_dataFunc = this->d_dataFunc; |
788 | 56.3k | return res; |
789 | 56.3k | } |
790 | | }; |
791 | | |
792 | | //! allows use of recursive structure queries (e.g. recursive SMARTS) |
793 | | class RDKIT_GRAPHMOL_EXPORT RecursiveStructureQuery |
794 | | : public Queries::SetQuery<int, Atom const *, true> { |
795 | | public: |
796 | 147k | RecursiveStructureQuery() : Queries::SetQuery<int, Atom const *, true>() { |
797 | 147k | setDataFunc(getAtIdx); |
798 | 147k | setDescription("RecursiveStructure"); |
799 | 147k | } |
800 | | //! initialize from an ROMol pointer |
801 | | /*! |
802 | | <b>Notes</b> |
803 | | - this takes over ownership of the pointer |
804 | | */ |
805 | | RecursiveStructureQuery(ROMol const *query, unsigned int serialNumber = 0) |
806 | 27.7k | : Queries::SetQuery<int, Atom const *, true>(), |
807 | 27.7k | d_serialNumber(serialNumber) { |
808 | 27.7k | setQueryMol(query); |
809 | 27.7k | setDataFunc(getAtIdx); |
810 | 27.7k | setDescription("RecursiveStructure"); |
811 | 27.7k | } |
812 | | //! returns the index of an atom |
813 | 0 | static inline int getAtIdx(Atom const *at) { |
814 | 0 | PRECONDITION(at, "bad atom argument"); |
815 | 0 | return at->getIdx(); |
816 | 0 | } |
817 | | |
818 | | //! sets the molecule we'll use recursively |
819 | | /*! |
820 | | <b>Notes</b> |
821 | | - this takes over ownership of the pointer |
822 | | */ |
823 | 27.7k | void setQueryMol(ROMol const *query) { dp_queryMol.reset(query); } |
824 | | //! returns a pointer to our query molecule |
825 | 0 | ROMol const *getQueryMol() const { return dp_queryMol.get(); } |
826 | | |
827 | | //! returns a copy of this query |
828 | 147k | Queries::Query<int, Atom const *, true> *copy() const override { |
829 | 147k | RecursiveStructureQuery *res = new RecursiveStructureQuery(); |
830 | 147k | res->dp_queryMol.reset(new ROMol(*dp_queryMol, true)); |
831 | | |
832 | 147k | std::set<int>::const_iterator i; |
833 | 147k | for (i = d_set.begin(); i != d_set.end(); i++) { |
834 | 0 | res->insert(*i); |
835 | 0 | } |
836 | 147k | res->setNegation(getNegation()); |
837 | 147k | res->d_description = d_description; |
838 | 147k | res->d_serialNumber = d_serialNumber; |
839 | 147k | return res; |
840 | 147k | } |
841 | 0 | unsigned int getSerialNumber() const { return d_serialNumber; } |
842 | | |
843 | | #ifdef RDK_BUILD_THREADSAFE_SSS |
844 | | std::mutex d_mutex; |
845 | | #endif |
846 | | private: |
847 | | boost::shared_ptr<const ROMol> dp_queryMol; |
848 | | unsigned int d_serialNumber{0}; |
849 | | }; |
850 | | |
851 | | template <typename T> |
852 | 0 | int nullDataFun(T) { |
853 | 0 | return 1; |
854 | 0 | } Unexecuted instantiation: int RDKit::nullDataFun<RDKit::Bond const*>(RDKit::Bond const*) Unexecuted instantiation: int RDKit::nullDataFun<RDKit::Atom const*>(RDKit::Atom const*) |
855 | | template <typename T> |
856 | 0 | bool nullQueryFun(T) { |
857 | 0 | return true; |
858 | 0 | } |
859 | | |
860 | | typedef Bond const *ConstBondPtr; |
861 | | |
862 | | // ! Query whether an atom has a property |
863 | | template <class TargetPtr> |
864 | | class HasPropQuery : public Queries::EqualityQuery<int, TargetPtr, true> { |
865 | | std::string propname; |
866 | | |
867 | | public: |
868 | | HasPropQuery() : Queries::EqualityQuery<int, TargetPtr, true>(), propname() { |
869 | | this->setDescription("HasProp"); |
870 | | this->setDataFunc(nullptr); |
871 | | } |
872 | | explicit HasPropQuery(std::string v) |
873 | 0 | : Queries::EqualityQuery<int, TargetPtr, true>(), propname(std::move(v)) { |
874 | 0 | this->setDescription("HasProp"); |
875 | 0 | this->setDataFunc(nullptr); |
876 | 0 | } Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Atom const*>::HasPropQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Bond const*>::HasPropQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) |
877 | | |
878 | 0 | bool Match(const TargetPtr what) const override { |
879 | 0 | bool res = what->hasProp(propname); |
880 | 0 | if (this->getNegation()) { |
881 | 0 | res = !res; |
882 | 0 | } |
883 | 0 | return res; |
884 | 0 | } Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Atom const*>::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Bond const*>::Match(RDKit::Bond const*) const |
885 | | |
886 | | //! returns a copy of this query |
887 | 0 | Queries::Query<int, TargetPtr, true> *copy() const override { |
888 | 0 | HasPropQuery *res = new HasPropQuery(this->propname); |
889 | 0 | res->setNegation(this->getNegation()); |
890 | 0 | res->d_description = this->d_description; |
891 | 0 | return res; |
892 | 0 | } Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Atom const*>::copy() const Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Bond const*>::copy() const |
893 | | |
894 | 0 | const std::string &getPropName() const { return propname; }Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Atom const*>::getPropName() const Unexecuted instantiation: RDKit::HasPropQuery<RDKit::Bond const*>::getPropName() const |
895 | | }; |
896 | | |
897 | | typedef Queries::EqualityQuery<int, Atom const *, true> ATOM_PROP_QUERY; |
898 | | typedef Queries::EqualityQuery<int, Bond const *, true> BOND_PROP_QUERY; |
899 | | |
900 | | //! returns a Query for matching atoms that have a particular property |
901 | | template <class Target> |
902 | | Queries::EqualityQuery<int, const Target *, true> *makeHasPropQuery( |
903 | 0 | const std::string &property) { |
904 | 0 | return new HasPropQuery<const Target *>(property); |
905 | 0 | } Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makeHasPropQuery<RDKit::Atom>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makeHasPropQuery<RDKit::Bond>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) |
906 | | |
907 | | // ! Query whether an atom has a property with a value |
908 | | class HasPropWithValueQueryBase { |
909 | | public: |
910 | 0 | HasPropWithValueQueryBase() = default; |
911 | 0 | virtual ~HasPropWithValueQueryBase() = default; |
912 | | virtual PairHolder getPair() const = 0; |
913 | | virtual double getTolerance() const = 0; |
914 | | }; |
915 | | |
916 | | template <class TargetPtr, class T> |
917 | | class HasPropWithValueQuery |
918 | | : public HasPropWithValueQueryBase, |
919 | | public Queries::EqualityQuery<int, TargetPtr, true> { |
920 | | std::string propname; |
921 | | T val; |
922 | | double tolerance{0.0}; |
923 | | |
924 | | public: |
925 | | HasPropWithValueQuery() |
926 | | : Queries::EqualityQuery<int, TargetPtr, true>(), propname(), val() { |
927 | | // default is to just do a number of rings query: |
928 | | this->setDescription("HasPropWithValue"); |
929 | | this->setDataFunc(0); |
930 | | } |
931 | | |
932 | 0 | PairHolder getPair() const override { |
933 | 0 | return PairHolder(Dict::Pair(propname, val)); |
934 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, int>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, unsigned int>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, bool>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, float>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, double>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, int>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, unsigned int>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, bool>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, float>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, double>::getPair() const |
935 | | |
936 | 0 | double getTolerance() const override { return tolerance; }Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, int>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, unsigned int>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, bool>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, float>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, double>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, int>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, unsigned int>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, bool>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, float>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, double>::getTolerance() const |
937 | | |
938 | | explicit HasPropWithValueQuery(std::string prop, const T &v, |
939 | | const T &tol = 0.0) |
940 | 0 | : Queries::EqualityQuery<int, TargetPtr, true>(), |
941 | 0 | propname(std::move(prop)), |
942 | 0 | val(v), |
943 | 0 | tolerance(tol) { |
944 | | // default is to just do a number of rings query: |
945 | 0 | this->setDescription("HasPropWithValue"); |
946 | 0 | this->setDataFunc(nullptr); |
947 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, int>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int const&, int const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, unsigned int>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int const&, unsigned int const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, bool>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool const&, bool const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, float>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, float const&, float const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, double>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double const&, double const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, int>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int const&, int const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, unsigned int>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int const&, unsigned int const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, bool>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool const&, bool const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, float>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, float const&, float const&) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, double>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double const&, double const&) |
948 | | |
949 | 0 | bool Match(const TargetPtr what) const override { |
950 | 0 | bool res = what->hasProp(propname); |
951 | 0 | if (res) { |
952 | 0 | try { |
953 | 0 | T atom_val = what->template getProp<T>(propname); |
954 | 0 | res = Queries::queryCmp(atom_val, this->val, |
955 | 0 | static_cast<T>(this->tolerance)) == 0; |
956 | 0 | } catch (KeyErrorException &) { |
957 | 0 | res = false; |
958 | 0 | } catch (std::bad_any_cast &) { |
959 | 0 | res = false; |
960 | 0 | } |
961 | 0 | #ifdef __GNUC__ |
962 | | #if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) |
963 | | catch (...) { |
964 | | // catch all -- this is currently necessary to |
965 | | // trap some bugs in boost+gcc configurations |
966 | | // Normally, this is not the correct thing to |
967 | | // do, but the only exception above is due |
968 | | // to the boost any_cast which is trapped |
969 | | // by the Boost python wrapper when it shouldn't |
970 | | // be. |
971 | | res = false; |
972 | | } |
973 | | #endif |
974 | 0 | #endif |
975 | 0 | } |
976 | 0 | if (this->getNegation()) { |
977 | 0 | res = !res; |
978 | 0 | } |
979 | 0 | return res; |
980 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, int>::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, unsigned int>::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, bool>::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, float>::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, double>::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, int>::Match(RDKit::Bond const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, unsigned int>::Match(RDKit::Bond const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, bool>::Match(RDKit::Bond const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, float>::Match(RDKit::Bond const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, double>::Match(RDKit::Bond const*) const |
981 | | |
982 | | //! returns a copy of this query |
983 | 0 | Queries::Query<int, TargetPtr, true> *copy() const override { |
984 | 0 | HasPropWithValueQuery *res = |
985 | 0 | new HasPropWithValueQuery(this->propname, this->val, this->tolerance); |
986 | 0 | res->setNegation(this->getNegation()); |
987 | 0 | res->d_description = this->d_description; |
988 | 0 | return res; |
989 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, int>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, unsigned int>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, bool>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, float>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, double>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, int>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, unsigned int>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, bool>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, float>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, double>::copy() const |
990 | | }; |
991 | | |
992 | | template <class TargetPtr> |
993 | | class HasPropWithValueQuery<TargetPtr, std::string> |
994 | | : public HasPropWithValueQueryBase, |
995 | | public Queries::EqualityQuery<int, TargetPtr, true> { |
996 | | std::string propname; |
997 | | std::string val; |
998 | | |
999 | | public: |
1000 | | HasPropWithValueQuery() |
1001 | | : Queries::EqualityQuery<int, TargetPtr, true>(), propname(), val() { |
1002 | | // default is to just do a number of rings query: |
1003 | | this->setDescription("HasPropWithValue"); |
1004 | | this->setDataFunc(0); |
1005 | | } |
1006 | | explicit HasPropWithValueQuery(std::string prop, std::string v, |
1007 | | const double /*tol*/ = 0.0) |
1008 | 0 | : Queries::EqualityQuery<int, TargetPtr, true>(), |
1009 | 0 | propname(std::move(prop)), |
1010 | 0 | val(std::move(v)) { |
1011 | | // default is to just do a number of rings query: |
1012 | 0 | this->setDescription("HasPropWithValue"); |
1013 | 0 | this->setDataFunc(nullptr); |
1014 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double) |
1015 | | |
1016 | 0 | PairHolder getPair() const override { |
1017 | 0 | return PairHolder(Dict::Pair(propname, val)); |
1018 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::getPair() const |
1019 | | |
1020 | 0 | double getTolerance() const override { return 0.0; }Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::getTolerance() const |
1021 | | |
1022 | 0 | bool Match(const TargetPtr what) const override { |
1023 | 0 | bool res = what->hasProp(propname); |
1024 | 0 | if (res) { |
1025 | 0 | try { |
1026 | 0 | std::string atom_val = what->template getProp<std::string>(propname); |
1027 | 0 | res = atom_val == this->val; |
1028 | 0 | } catch (KeyErrorException &) { |
1029 | 0 | res = false; |
1030 | 0 | } catch (std::bad_any_cast &) { |
1031 | 0 | res = false; |
1032 | 0 | } |
1033 | 0 | #ifdef __GNUC__ |
1034 | | #if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) |
1035 | | catch (...) { |
1036 | | // catch all -- this is currently necessary to |
1037 | | // trap some bugs in boost+gcc configurations |
1038 | | // Normally, this is not the correct thing to |
1039 | | // do, but the only exception above is due |
1040 | | // to the boost any_cast which is trapped |
1041 | | // by the Boost python wrapper when it shouldn't |
1042 | | // be. |
1043 | | res = false; |
1044 | | } |
1045 | | #endif |
1046 | 0 | #endif |
1047 | 0 | } |
1048 | 0 | if (this->getNegation()) { |
1049 | 0 | res = !res; |
1050 | 0 | } |
1051 | 0 | return res; |
1052 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::Match(RDKit::Bond const*) const |
1053 | | |
1054 | | //! returns a copy of this query |
1055 | 0 | Queries::Query<int, TargetPtr, true> *copy() const override { |
1056 | 0 | HasPropWithValueQuery<TargetPtr, std::string> *res = |
1057 | 0 | new HasPropWithValueQuery<TargetPtr, std::string>(this->propname, |
1058 | 0 | this->val); |
1059 | 0 | res->setNegation(this->getNegation()); |
1060 | 0 | res->d_description = this->d_description; |
1061 | 0 | return res; |
1062 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::copy() const |
1063 | | }; |
1064 | | |
1065 | | template <class TargetPtr> |
1066 | | class HasPropWithValueQuery<TargetPtr, ExplicitBitVect> |
1067 | | : public HasPropWithValueQueryBase, |
1068 | | public Queries::EqualityQuery<int, TargetPtr, true> { |
1069 | | std::string propname; |
1070 | | ExplicitBitVect val; |
1071 | | double tol{0.0}; |
1072 | | |
1073 | | public: |
1074 | | HasPropWithValueQuery() |
1075 | | : Queries::EqualityQuery<int, TargetPtr, true>(), propname(), val() { |
1076 | | this->setDescription("HasPropWithValue"); |
1077 | | this->setDataFunc(0); |
1078 | | } |
1079 | | |
1080 | | explicit HasPropWithValueQuery(std::string prop, const ExplicitBitVect &v, |
1081 | | double tol = 0.0) |
1082 | 0 | : Queries::EqualityQuery<int, TargetPtr, true>(), |
1083 | 0 | propname(std::move(prop)), |
1084 | 0 | val(v), |
1085 | 0 | tol(tol) { |
1086 | 0 | this->setDescription("HasPropWithValue"); |
1087 | 0 | this->setDataFunc(nullptr); |
1088 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, ExplicitBitVect>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ExplicitBitVect const&, double) Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, ExplicitBitVect>::HasPropWithValueQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ExplicitBitVect const&, double) |
1089 | | |
1090 | 0 | PairHolder getPair() const override { |
1091 | 0 | return PairHolder(Dict::Pair(propname, val)); |
1092 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, ExplicitBitVect>::getPair() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, ExplicitBitVect>::getPair() const |
1093 | | |
1094 | 0 | double getTolerance() const override { return tol; }Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, ExplicitBitVect>::getTolerance() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, ExplicitBitVect>::getTolerance() const |
1095 | | |
1096 | 0 | bool Match(const TargetPtr what) const override { |
1097 | 0 | bool res = what->hasProp(propname); |
1098 | 0 | if (res) { |
1099 | 0 | try { |
1100 | 0 | const ExplicitBitVect &bv = |
1101 | 0 | what->template getProp<const ExplicitBitVect &>(propname); |
1102 | 0 | const double tani = TanimotoSimilarity(val, bv); |
1103 | 0 | res = (1.0 - tani) <= tol; |
1104 | 0 | } catch (KeyErrorException &) { |
1105 | 0 | res = false; |
1106 | 0 | } catch (std::bad_any_cast &) { |
1107 | 0 | res = false; |
1108 | 0 | } |
1109 | 0 | #ifdef __GNUC__ |
1110 | | #if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) |
1111 | | catch (...) { |
1112 | | // catch all -- this is currently necessary to |
1113 | | // trap some bugs in boost+gcc configurations |
1114 | | // Normally, this is not the correct thing to |
1115 | | // do, but the only exception above is due |
1116 | | // to the boost any_cast which is trapped |
1117 | | // by the Boost python wrapper when it shouldn't |
1118 | | // be. |
1119 | | res = false; |
1120 | | } |
1121 | | #endif |
1122 | 0 | #endif |
1123 | 0 | } |
1124 | 0 | if (this->getNegation()) { |
1125 | 0 | res = !res; |
1126 | 0 | } |
1127 | 0 | return res; |
1128 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, ExplicitBitVect>::Match(RDKit::Atom const*) const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, ExplicitBitVect>::Match(RDKit::Bond const*) const |
1129 | | |
1130 | | //! returns a copy of this query |
1131 | 0 | Queries::Query<int, TargetPtr, true> *copy() const override { |
1132 | 0 | HasPropWithValueQuery<TargetPtr, ExplicitBitVect> *res = |
1133 | 0 | new HasPropWithValueQuery<TargetPtr, ExplicitBitVect>( |
1134 | 0 | this->propname, this->val, this->tol); |
1135 | 0 | res->setNegation(this->getNegation()); |
1136 | 0 | res->d_description = this->d_description; |
1137 | 0 | return res; |
1138 | 0 | } Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Atom const*, ExplicitBitVect>::copy() const Unexecuted instantiation: RDKit::HasPropWithValueQuery<RDKit::Bond const*, ExplicitBitVect>::copy() const |
1139 | | }; |
1140 | | |
1141 | | template <class Target, class T> |
1142 | | Queries::EqualityQuery<int, const Target *, true> *makePropQuery( |
1143 | 0 | const std::string &propname, const T &val, double tolerance = 0.0) { |
1144 | 0 | return new HasPropWithValueQuery<const Target *, T>(propname, val, tolerance); |
1145 | 0 | } Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makePropQuery<RDKit::Atom, int>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makePropQuery<RDKit::Atom, unsigned int>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makePropQuery<RDKit::Atom, bool>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makePropQuery<RDKit::Atom, float>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, float const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makePropQuery<RDKit::Atom, double>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makePropQuery<RDKit::Atom, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Atom const*, true>* RDKit::makePropQuery<RDKit::Atom, ExplicitBitVect>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, ExplicitBitVect const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makePropQuery<RDKit::Bond, int>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makePropQuery<RDKit::Bond, unsigned int>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makePropQuery<RDKit::Bond, bool>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makePropQuery<RDKit::Bond, float>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, float const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makePropQuery<RDKit::Bond, double>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makePropQuery<RDKit::Bond, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double) Unexecuted instantiation: Queries::EqualityQuery<int, RDKit::Bond const*, true>* RDKit::makePropQuery<RDKit::Bond, ExplicitBitVect>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, ExplicitBitVect const&, double) |
1146 | | |
1147 | | template <class Target> |
1148 | | Queries::EqualityQuery<int, const Target *, true> *makePropQuery( |
1149 | | const std::string &propname, const ExplicitBitVect &val, |
1150 | | double tolerance = 0.0) { |
1151 | | return new HasPropWithValueQuery<const Target *, ExplicitBitVect>( |
1152 | | propname, val, tolerance); |
1153 | | } |
1154 | | |
1155 | | RDKIT_GRAPHMOL_EXPORT bool isComplexQuery(const Bond *b); |
1156 | | RDKIT_GRAPHMOL_EXPORT bool isComplexQuery(const Atom *a); |
1157 | | RDKIT_GRAPHMOL_EXPORT bool isAtomAromatic(const Atom *a); |
1158 | | RDKIT_GRAPHMOL_EXPORT bool isAtomListQuery(const Atom *a); |
1159 | | RDKIT_GRAPHMOL_EXPORT void getAtomListQueryVals(const Atom::QUERYATOM_QUERY *q, |
1160 | | std::vector<int> &vals); |
1161 | | |
1162 | | // Checks if an atom is dummy or not. |
1163 | | // 1. A dummy non-query atom (e.g., "*" in SMILES) is defined by its zero atomic |
1164 | | // number. This rule breaks for query atoms because a COMPOSITE_OR query atom |
1165 | | // also has a zero atomic number (#6349). |
1166 | | // 2. A dummy query atom (e.g., "*" in SMARTS) is defined by its explicit |
1167 | | // description: "AtomNull". |
1168 | 97.4k | inline bool isAtomDummy(const Atom *a) { |
1169 | 97.4k | return (!a->hasQuery() && a->getAtomicNum() == 0) || |
1170 | 63.1k | (a->hasQuery() && !a->getQuery()->getNegation() && |
1171 | 3.05k | a->getQuery()->getDescription() == "AtomNull"); |
1172 | 97.4k | } |
1173 | | |
1174 | | namespace QueryOps { |
1175 | | RDKIT_GRAPHMOL_EXPORT void completeMolQueries( |
1176 | | RWMol *mol, unsigned int magicVal = 0xDEADBEEF); |
1177 | | // Replaces the given atom in the molecule with a QueryAtom that is otherwise |
1178 | | // a copy of the given atom. Returns a pointer to that atom. |
1179 | | // if the atom already has a query, nothing will be changed |
1180 | | RDKIT_GRAPHMOL_EXPORT Atom *replaceAtomWithQueryAtom(RWMol *mol, Atom *atom); |
1181 | | |
1182 | | RDKIT_GRAPHMOL_EXPORT void finalizeQueryFromDescription( |
1183 | | Queries::Query<int, Atom const *, true> *query, Atom const *owner); |
1184 | | RDKIT_GRAPHMOL_EXPORT void finalizeQueryFromDescription( |
1185 | | Queries::Query<int, Bond const *, true> *query, Bond const *owner); |
1186 | | |
1187 | | RDKIT_GRAPHMOL_EXPORT bool hasBondTypeQuery( |
1188 | | const Queries::Query<int, Bond const *, true> &qry); |
1189 | 4.16M | inline bool hasBondTypeQuery(const Bond &bond) { |
1190 | 4.16M | if (!bond.hasQuery()) { |
1191 | 4.14M | return false; |
1192 | 4.14M | } |
1193 | 16.5k | return hasBondTypeQuery(*bond.getQuery()); |
1194 | 4.16M | } |
1195 | | RDKIT_GRAPHMOL_EXPORT bool hasComplexBondTypeQuery( |
1196 | | const Queries::Query<int, Bond const *, true> &qry); |
1197 | 45.6M | inline bool hasComplexBondTypeQuery(const Bond &bond) { |
1198 | 45.6M | if (!bond.hasQuery()) { |
1199 | 45.5M | return false; |
1200 | 45.5M | } |
1201 | 129k | return hasComplexBondTypeQuery(*bond.getQuery()); |
1202 | 45.6M | } |
1203 | | |
1204 | | RDKIT_GRAPHMOL_EXPORT bool isMetal(const Atom &atom); |
1205 | | } // namespace QueryOps |
1206 | | } // namespace RDKit |
1207 | | #endif |