//-------------------------------------------------------------------------------------- public EnumerateIntegerTrangleForByBranchBoundary(int pLimit, int pLength, int pMinimumValue = 1, int pForwardAdditive = 0) : base(pLimit, pLength, pMinimumValue, pForwardAdditive) { int size = DNAMappingBase.DefineRestrictionMapSizeFromDifferencesSize(pLength); _statisticAccumulator = new DNAMappingStatisticAccumulator(new DNAMappingSaver(), size, pLimit); _statisticAccumulator.Delete("EnumerateDNAMappingBranchBoundary"); _fBreakElement = 0; }
//-------------------------------------------------------------------------------------- public EnumerateDNAMappingByDifferences(int[] pairwiseDifferences, bool pIsAllResult = true) : base(pairwiseDifferences.Length, DNAMappingBase.DefineRestrictionMapSizeFromDifferencesSize(pairwiseDifferences.Length), 0, 1) { _originePairwiseDifferences = pairwiseDifferences.OrderBy(c => c).ToArray(); var list = pairwiseDifferences.Distinct().ToList(); list.Add(0); _pairwiseDifferences = list.OrderBy(c => c).ToArray(); _isAllResult = pIsAllResult; _fLimit = _pairwiseDifferences.Length - 1; }
//-------------------------------------------------------------------------------------- public EnumerateDNAMappingBranchBoundary(int[] pairwiseDifferences, bool pIsAllResult = true) : base(pairwiseDifferences.Length, DNAMappingBase.DefineRestrictionMapSizeFromDifferencesSize(pairwiseDifferences.Length), 0, 1) { _originePairwiseDifferences = pairwiseDifferences.OrderBy(d => d).Select(p => new DifferenceElement() { Data = p, IsIncluded = false }).ToArray(); var list = pairwiseDifferences.Distinct().ToList(); list.Add(0); _pairwiseDifferences = list.OrderBy(c => c).ToArray(); _isAllResult = pIsAllResult; _fLimit = _pairwiseDifferences.Length - 1; }
//-------------------------------------------------------------------------------------- public EnumerateDNAMappingByIntegerTrangle(int[] pairwiseDifferences, int pMinimumValue = 1, int pForwardAdditive = 1, bool pIsAllResult = true) : base(pairwiseDifferences.Max(), DNAMappingBase.DefineRestrictionMapSizeFromDifferencesSize(pairwiseDifferences.Length), pMinimumValue, pForwardAdditive) { _pairwiseDifferences = pairwiseDifferences.OrderBy(c => c).ToArray(); _isAllResult = pIsAllResult; }