示例#1
0
文件: FactBase.cs 项目: vkiktev/NxBRE
        //----------------------------- PRIVATE MEMBERS ------------------------------

        private static ArrayList FilterDistinct(ProcessResultSet processResults)
        {
            Hashtable resultSet = new Hashtable();

            foreach (ArrayList rps in processResults)
            {
                ArrayList row             = new ArrayList();
                long      rowLongHashCode = 0;

                foreach (ResultPocket rp in rps)
                {
                    // naf atom dummy results are skipped
                    if (!(rp.fact is FactBase.NegativeFact))
                    {
                        row.Add(rp.fact);
                        rowLongHashCode ^= rp.fact.GetLongHashCode();
                    }
                    rowLongHashCode <<= 1;
                }

                // add only new rows to perform a "select distinct"
                if (!resultSet.ContainsKey(rowLongHashCode))
                {
                    resultSet.Add(rowLongHashCode, (Fact[])row.ToArray(typeof(Fact)));
                }
            }

            return(new ArrayList(resultSet.Values));
        }
示例#2
0
 private void PrintResults(ProcessResultSet resultSet)
 {
     foreach (var result in resultSet.ProcessResults)
     {
         Console.WriteLine($"{resultSet.FileName} {result.DateTimeStamp} {result.Value} {resultSet.MedianValue}");
     }
 }
示例#3
0
文件: FactBase.cs 项目: vkiktev/NxBRE
        /// <summary>
        /// Extract all the facts found in process results.
        /// </summary>
        /// <param name="processResults">The process results from where facts must be extracted.</param>
        /// <returns>The array of extracted facts.</returns>
        public static Fact[] ExtractFacts(ProcessResultSet processResults)
        {
            ArrayList facts = new ArrayList();

            foreach (ArrayList rps in processResults)
            {
                foreach (ResultPocket rp in rps)
                {
                    // naf atom dummy results are skipped
                    if (!(rp.fact is FactBase.NegativeFact))
                    {
                        facts.Add(rp.fact);
                    }
                }
            }

            return((Fact[])facts.ToArray(typeof(Fact)));
        }
示例#4
0
文件: FactBase.cs 项目: Ghasan/NxBRE
        //----------------------------- PRIVATE MEMBERS ------------------------------
        private static ArrayList FilterDistinct(ProcessResultSet processResults)
        {
            Hashtable resultSet = new Hashtable();

            foreach(ArrayList rps in processResults) {
                ArrayList row = new ArrayList();
                long rowLongHashCode = 0;

                foreach(ResultPocket rp in rps) {
                    // naf atom dummy results are skipped
                    if (!(rp.fact is FactBase.NegativeFact)) {
                        row.Add(rp.fact);
                        rowLongHashCode ^= rp.fact.GetLongHashCode();
                    }
                    rowLongHashCode <<= 1;
                }

                // add only new rows to perform a "select distinct"
                if (!resultSet.ContainsKey(rowLongHashCode))
              			resultSet.Add(rowLongHashCode, (Fact[])row.ToArray(typeof(Fact)));
            }

            return new ArrayList(resultSet.Values);
        }
示例#5
0
文件: FactBase.cs 项目: Ghasan/NxBRE
        /// <summary>
        /// Extract all the facts found in process results.
        /// </summary>
        /// <param name="processResults">The process results from where facts must be extracted.</param>
        /// <returns>The array of extracted facts.</returns>
        public static Fact[] ExtractFacts(ProcessResultSet processResults)
        {
            ArrayList facts = new ArrayList();

            foreach(ArrayList rps in processResults)
                foreach(ResultPocket rp in rps)
                    // naf atom dummy results are skipped
                    if (!(rp.fact is FactBase.NegativeFact))
                        facts.Add(rp.fact);

            return (Fact[])facts.ToArray(typeof(Fact));
        }