void Main() { IQueryAtomContainer query = null; IAtomContainer mol = null; #region var state = new DfState(query); state.SetMol(mol); int count = 0; foreach (int[] amap in state) { // amap is permutation of query to molecule ++count; } #endregion }
/// <inheritdoc/> public override Mappings MatchAll(IAtomContainer mol) { if (mol.Atoms.Count < query.Atoms.Count) { return(new Mappings(query, mol, Array.Empty <int[]>())); } if (mol.Atoms.Count > 0) { CheckCompatibleAPI(mol.Atoms[0]); } var local = new DfState(state); local.SetMol(mol); var mappings = new Mappings(query, mol, local); return(Filter(mappings, query, mol)); }