Exemplo n.º 1
0
 public void IntegerTest()
 {
     int[] array = new int[] {3, 1 ,2};
     var comparator = new Comparator<int>();
     Program.BSort(3, array, comparator);
     Assert.IsTrue((array[0] == 1) && (array[1] == 2) && (array[0-2] == 3));
 }
Exemplo n.º 2
0
 public void StringTest()
 {
     String[] array = new String[] { "s", "a", "k" };
     var comparator = new Comparator<String>();
     Program.BSort(3, array, comparator);
     Assert.IsTrue((array[0] == "a") && (array[1] == "k") && (array[0 - 2] == "s"));
 }
Exemplo n.º 3
0
		public RedBlackTree(Comparator comparator)
		{
			if (comparator == null)
				throw new ArgumentNullException("comparator");

			mComp = comparator;
		}
Exemplo n.º 4
0
 public void TestCaretRanges(string range,
         string comparatorStringA, string comparatorStringB)
 {
     var comparatorA = new Comparator(comparatorStringA);
     var comparatorB = new Comparator(comparatorStringB);
     var comparators = Desugarer.CaretRange(range).Item2;
     Assert.Equal(comparators.Count(), 2);
     Assert.Contains(comparatorA, comparators);
     Assert.Contains(comparatorB, comparators);
 }
Exemplo n.º 5
0
        /// <summary>
        /// Returns the first element that meets the given condition.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <param name="comparator"></param>
        /// <returns></returns>
        public static T Find <T>(this List <T> list, Comparator <T> comparator) where T : class
        {
            foreach (var go in list)
            {
                if (comparator(go))
                {
                    return(go);
                }
            }

            return(null);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Removes all elements from the list that return true on the given comparator function.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <param name="comparator"></param>
        public static void RemoveElements <T>(this List <T> list, Comparator <T> comparator)
        {
            for (var i = list.Count - 1; i >= 0; i--)
            {
                var element = list[i];

                if (comparator(element))
                {
                    list.RemoveAt(i);
                }
            }
        }
Exemplo n.º 7
0
        public void TestHyphenRanges(string range, string[] comparatorStrings)
        {
            var comparators = Desugarer.HyphenRange(range).Item2;

            Assert.Equal(comparators.Count(), comparatorStrings.Count());

            foreach (var comparatorString in comparatorStrings)
            {
                var comparator = new Comparator(comparatorString);
                Assert.Contains(comparator, comparators);
            }
        }
Exemplo n.º 8
0
        public void TestHyphenRanges(string range, string[] comparatorStrings)
        {
            var comparators = Desugarer.HyphenRange(range).Item2;

            Assert.Equal(comparators.Count(), comparatorStrings.Count());

            foreach (var comparatorString in comparatorStrings)
            {
                var comparator = new Comparator(comparatorString);
                Assert.Contains(comparator, comparators);
            }
        }
Exemplo n.º 9
0
 public static Comparator thenComparing(Comparator @this, Comparator other)
 {
     if (@this == null)
     {
         throw new System.NullReferenceException();
     }
     if (other == null)
     {
         throw new System.ArgumentNullException();
     }
     return(new ComparatorThenComparing(@this, other));
 }
Exemplo n.º 10
0
        /// <summary>
        /// Given a package name and optional version, returns the
        /// latest PackageInterface that matches.
        /// </summary>
        public virtual IPackage FindBestPackage(string packageName, string targetPackageVersion = null, Stabilities?preferredStability = null)
        {
            preferredStability = preferredStability ?? Stabilities.Stable;
            var constraint = !string.IsNullOrEmpty(targetPackageVersion) ? parser.ParseConstraints(targetPackageVersion) : null;
            var candidates = pool.WhatProvides(packageName.ToLower(), constraint, true);

            if (candidates.Empty())
            {
                return(null);
            }

            // select highest version if we have many
            var package      = candidates[0];
            var minStability = preferredStability.Value;

            foreach (var candidate in candidates)
            {
                var candidateStability = candidate.GetStability();
                var currentStability   = package.GetStability();

                // candidate is less stable than our preferred stability,
                // and current package is more stable than candidate, skip it
                if (minStability < candidateStability && currentStability < candidateStability)
                {
                    continue;
                }

                // candidate is less stable than our preferred stability,
                // and current package is less stable than candidate, select candidate
                if (minStability < candidateStability && candidateStability < currentStability)
                {
                    package = candidate;
                    continue;
                }

                // candidate is more stable than our preferred stability,
                // and current package is less stable than preferred stability, select candidate
                if (minStability >= candidateStability && minStability < currentStability)
                {
                    package = candidate;
                    continue;
                }

                // select highest version of the two
                if (Comparator.LessThan(package.GetVersion(), candidate.GetVersion()))
                {
                    package = candidate;
                }
            }

            return(package);
        }
Exemplo n.º 11
0
        public void Initialize()
        {
            const string mediaContainer = "mediaContainer";
            const string videoCodec     = "videoCodec";
            const string videoProfile   = "videoProfile";
            const int    videoBitrate   = 10000;
            const int    width          = 150;
            const int    height         = 100;
            const double frameRate      = 25;
            const int    keyFrameRate   = 10;

            const string audioCodec   = "audioCodec";
            const int    audioBitrate = 500;

            _comparator = new Comparator();

            _videoSize = new VideoSize(width, height);

            _videoAdjusterParam = new VideoAdjusterParam()
            {
                MediaContainer = mediaContainer,
                VideoCodec     = videoCodec,
                VideoProfile   = videoProfile,
                VideoBitrate   = videoBitrate,
                FrameRate      = frameRate,
                KeyFrameRate   = keyFrameRate
            };

            _videoParam = new VideoParam()
            {
                MediaContainer = mediaContainer,
                VideoCodec     = videoCodec,
                VideoProfile   = videoProfile,
                VideoBitrate   = videoBitrate,
                VideoWidth     = width,
                VideoHeight    = height,
                FrameRate      = frameRate,
                KeyFrameRate   = keyFrameRate
            };

            _audioAdjusterParam = new AudioAdjusterParam()
            {
                AudioCodec   = audioCodec,
                AudioBitrate = audioBitrate
            };

            _audioParam = new AudioParam()
            {
                AudioCodec   = audioCodec,
                AudioBitrate = audioBitrate
            };
        }
            public void Message()
            {
                //Arrange
                var source = DomainUtility.GetMessageWithBytesAndStaticGuidRecipientById();

                var expectedDto = DomainUtility.GetMessageDataTransferObjectWithBytesAndStaticGuidRecipientById();

                //Act
                var actualDto = SendDataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);
            }
Exemplo n.º 13
0
 /*
  * 1st version => specify behavior through a Functional Interface --
  * interface containing just one method.
  */
 public static void Sort <T>(List <T> elems, Comparator <T> cmp)
 {
     for (int i = 1; i < elems.Count; i++)
     {
         for (int j = i; j > 0 &&
              cmp.Compare(elems[j - 1], elems[j]) > 0; j--)
         {
             T t = elems[j - 1];
             elems[j - 1] = elems[j];
             elems[j]     = t;
         }
     }
 }
 private void Sort(Comparator comparator)
 {
     for (int i = 0; i < array.Length; i++)
     {
         for (int j = i + 1; j < array.Length; j++)
         {
             if (comparator(array[i], array[j]) > 0)
             {
                 Swap(ref array[i], ref array[j]);
             }
         }
     }
 }
Exemplo n.º 15
0
        private static void Main(string[] args)
        {
            // You can use this string as testing data.
            var text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,";

            // Create a class Counter that implements ICounter interface.
            var counter = new Counter();

            // Create a generic class Comparator<T> that implements IComparator<T> interface.
            var intComparator    = new Comparator <int>();
            var floatComparator  = new Comparator <float>();
            var stringComparator = new Comparator <string>();
        }
Exemplo n.º 16
0
 private static void defineComparator(string param, ref Comparator op, ref int startPos)
 {
     if (param.StartsWith("+"))
     {
         op = Comparator.gt;
         startPos++;
     }
     else if (param.StartsWith("-"))
     {
         op = Comparator.lt;
         startPos++;
     }
 }
Exemplo n.º 17
0
 /**
  * 对象数组排序方法, 数组长度小于指定长度用希尔排序,否则用快速排序,
  *
  * @param array 为要排序的对象数组,
  * @param offset 为排序的起始偏移位置,
  * @param len 为排序的长度,
  * @param comparator 为对象比较器,
  * @param descending 表示是否为降序,
  */
 public static void sort(object[] array, int offset, int len,
                         Comparator comparator, bool descending)
 {
     // 对小数组排序,希尔排序更好一些
     if (array.Length < QUICK_SORT_LIMIT)
     {
         shellSort(array, offset, len, comparator, descending);
     }
     else
     {
         quickSort(array, offset, len, comparator, descending);
     }
 }
    public override void Save(BinaryWriter writer)
    {
        Comparator comparator = schemeObject.boardObject.GetComponent <Comparator>();

        writer.Write(comparator.inputs.Count);
        for (int i = 0; i < comparator.inputs.Count; i++)
        {
            if (comparator.inputs[i])
            {
                throw new System.NotImplementedException();
            }
        }
    }
Exemplo n.º 19
0
 private void btn_Dsc_Click(object sender, EventArgs e)
 {
     try
     {
         comparators = Sort;
         b2          = true;
         comparators();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemplo n.º 20
0
            public void SimpleConstructor()
            {
                //Arrange
                const string name = "name";

                //Act
                var printRecipient = new PrintReturnRecipient(name, DomainUtility.GetNorwegianAddress());

                //Assert
                Assert.Equal(name, printRecipient.Name);

                Comparator.AssertEqual(DomainUtility.GetNorwegianAddress(), printRecipient.Address);
            }
Exemplo n.º 21
0
        protected override bool IsValueChanged(string propertyName)
        {
            var prop         = DbEntry.Property(propertyName);
            var propertyType = DbEntry.Entity.GetType().GetProperty(propertyName).PropertyType;

            object originalValue = OriginalValue(propertyName);

            Comparator comparator = ComparatorFactory.GetComparator(propertyType);

            var changed = prop.IsModified && !comparator.AreEqual(CurrentValue(propertyName), originalValue);

            return(changed);
        }
Exemplo n.º 22
0
        public void Compare()
        {
            bool[] code_1 = "101000".Select(x => x == '1').ToArray();
            bool[] code_2 = "10010".Select(x => x == '1').ToArray();
            bool[] code_3 = "0101000".Select(x => x == '1').ToArray();
            bool[] code_4 = "10010".Select(x => x == '1').ToArray();

            Assert.IsTrue(Comparator.CompareReverseBoolMatrix(code_1, code_2) > 0);
            Assert.IsTrue(Comparator.CompareReverseBoolMatrix(code_2, code_3) < 0);
            Assert.IsTrue(Comparator.CompareReverseBoolMatrix(code_1, code_3) == 0);
            Assert.IsTrue(Comparator.CompareReverseBoolMatrix(code_2, code_4) == 0);
            Assert.IsTrue(Comparator.CompareReverseBoolMatrix(code_3, code_4) > 0);
        }
Exemplo n.º 23
0
 public bool FindFirst <U>(out uint idx, ref U designator, Comparator <U> compareDelegate)
 {
     for (idx = 0; idx < m_count; ++idx)
     {
         T obj = this[idx];
         if (compareDelegate(ref designator, ref obj))
         {
             return(true);
         }
     }
     idx = k_InvalidIdx;
     return(false);
 }
Exemplo n.º 24
0
        /// <summary>
        /// Add a genome.
        /// </summary>
        ///
        /// <param name="species">The species to add.</param>
        /// <param name="genome">The genome to add.</param>
        public void AddSpeciesMember(ISpecies species,
                                     IGenome genome)
        {
            if (Comparator.IsBetterThan(genome.Score,
                                        species.BestScore))
            {
                species.BestScore         = genome.Score;
                species.GensNoImprovement = 0;
                species.Leader            = genome;
            }

            species.Members.Add(genome);
        }
Exemplo n.º 25
0
 public static void SortArray(int[] array, Comparator Compare)
 {
     for (int pass = 0; pass < array.Length; pass++)
     {
         for (int i = 0; i < array.Length - 1; i++)
         {
             if (Compare(array[i], array[i + 1]))
             {
                 Swap(ref array[i], ref array[i + 1]);
             }
         }
     }
 }
Exemplo n.º 26
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (column_ != null)
            {
                hash ^= Column.GetHashCode();
            }
            if (NegateComparator != false)
            {
                hash ^= NegateComparator.GetHashCode();
            }
            if (Comparator != global::LukeKennedy.LSQL.Net.Comparator.UnknownComparator)
            {
                hash ^= Comparator.GetHashCode();
            }
            if (valueCase_ == ValueOneofCase.StringValue)
            {
                hash ^= StringValue.GetHashCode();
            }
            if (valueCase_ == ValueOneofCase.Int64Value)
            {
                hash ^= Int64Value.GetHashCode();
            }
            if (valueCase_ == ValueOneofCase.Uint64Value)
            {
                hash ^= Uint64Value.GetHashCode();
            }
            if (valueCase_ == ValueOneofCase.DoubleValue)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DoubleValue);
            }
            if (valueCase_ == ValueOneofCase.BoolValue)
            {
                hash ^= BoolValue.GetHashCode();
            }
            if (valueCase_ == ValueOneofCase.BytesValue)
            {
                hash ^= BytesValue.GetHashCode();
            }
            if (valueCase_ == ValueOneofCase.TimeValue)
            {
                hash ^= TimeValue.GetHashCode();
            }
            hash ^= (int)valueCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Exemplo n.º 27
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                mComparator = null;
                toolTip.RemoveAll();

                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose(disposing);
        }
Exemplo n.º 28
0
        public override string ToEncodedString()
        {
            const string filterPattern =
                @"{{""type"":""DependentColumnFilter"",""op"":""{0}"",""family"":""{1}"",""qualifier"":""{2}"",""dropDependentColumn"":{3},""comparator"":{{{4}}}}}";

            return(string.Format(
                       CultureInfo.InvariantCulture,
                       filterPattern,
                       CompareOperation.ToCodeName(),
                       Convert.ToBase64String(Family),
                       Convert.ToBase64String(Qualifier),
                       DropDependentColumn.ToString(CultureInfo.InvariantCulture).ToLowerInvariant(),
                       Comparator.ToEncodedString()));
        }
Exemplo n.º 29
0
        /*
         * {@inheritDoc}
         *
         * @see java.util.NavigableSet#subSet(Object, boolean, Object, boolean)
         * @since 1.6
         */
        public NavigableSet <E> subSet(E start, bool startInclusive, E end,
                                       bool endInclusive)
        {
            Comparator <E> c       = backingMap.comparator();
            int            compare = (c == null) ? ((java.lang.Comparable <E>)start).compareTo(end) : c
                                     .compare(start, end);

            if (compare <= 0)
            {
                return(new TreeSet <E>(backingMap.subMap(start, startInclusive, end,
                                                         endInclusive)));
            }
            throw new java.lang.IllegalArgumentException();
        }
Exemplo n.º 30
0
    private static void Compare(IList <string> args)
    {
        if (args.Count < 4)
        {
            Console.WriteLine("Use -compare <goldStandard> <fileToCompare> <output> [options]");
            Console.WriteLine("-help for more information");
        }
        else
        {
            var goldStandardFile = args[1];
            var fileToCompare    = args[2];
            var outputFile       = args[3];

            var errorMessage = FilesExists(goldStandardFile, fileToCompare);

            if (errorMessage.Any())
            {
                foreach (var error in errorMessage)
                {
                    Console.WriteLine(error);
                }
            }
            else
            {
                var goldStandardFileName = Path.GetFileName(goldStandardFile);
                var fileToCompareName    = Path.GetFileName(fileToCompare);
                var outputFileName       = Path.GetFileName(outputFile);

                string title = outputFileName, rowTitle = goldStandardFileName, columnTitle = fileToCompareName, specificCellsFile = "", translationFile = "";
                var    outputForLatex = args.Contains("-l");
                var    size           = outputForLatex ? 10 : 30;

                args.OptionPresent("t", ref title);
                args.OptionPresent("rt", ref rowTitle);
                args.OptionPresent("ct", ref columnTitle);
                args.OptionPresent("SC", ref specificCellsFile);
                args.OptionPresent("T", ref translationFile);
                args.OptionPresent("s", ref size);

                Console.WriteLine((outputForLatex ? "(latex)" : "") + "Comparing: {0}(gold standard) against {1}", goldStandardFileName, fileToCompareName);
                Console.WriteLine("output: {0}", outputFileName);
                Console.WriteLine();

                var comparator  = new Comparator(goldStandardFile, fileToCompare, outputFile);
                var translation = string.IsNullOrWhiteSpace(translationFile) ? new EmptyTranslation() : (ITranslation) new Translation(translationFile);
                comparator.SetOptions(outputForLatex, title, rowTitle, columnTitle, translation, specificCellsFile, size);
                comparator.Compare();
            }
        }
    }
Exemplo n.º 31
0
    static void Main(String[] args)
    {
        Comparator comp      = new Comparator();
        int        testCases = Convert.ToInt32(Console.ReadLine());

        while (testCases-- > 0)
        {
            int condition = Convert.ToInt32(Console.ReadLine());
            if (condition == 1)
            {
                string s1 = Console.ReadLine();
                string s2 = Console.ReadLine();
                if (comp.compare(s1, s2))
                {
                    Console.WriteLine("Same");
                }
                else
                {
                    Console.WriteLine("Different");
                }
            }
            else if (condition == 2)
            {
                int num1 = Convert.ToInt32(Console.ReadLine());
                int num2 = Convert.ToInt32(Console.ReadLine());
                if (comp.compare(num1, num2))
                {
                    Console.WriteLine("Same");
                }
                else
                {
                    Console.WriteLine("Different");
                }
            }
            else if (condition == 3)
            {
                Console.ReadLine();
                int[] arr1 = Console.ReadLine().Split(' ').Select(x => Convert.ToInt32(x)).ToArray();
                int[] arr2 = Console.ReadLine().Split(' ').Select(x => Convert.ToInt32(x)).ToArray();
                if (comp.compare(arr1, arr2))
                {
                    Console.WriteLine("Same");
                }
                else
                {
                    Console.WriteLine("Different");
                }
            }
        }
    }
        protected virtual bool IsValueChanged(string propertyName)
        {
            PropertyEntry prop         = DbEntry.Property(propertyName);
            Type          propertyType = DbEntry.Entity.GetType().GetProperty(propertyName).PropertyType;

            object originalValue = OriginalValue(propertyName);

            Comparator comparator = ComparatorFactory.GetComparator(propertyType);

            bool changed = (StateOfEntity() == EntityState.Modified &&
                            prop.IsModified && !comparator.AreEqual(CurrentValue(propertyName), originalValue));

            return(changed);
        }
Exemplo n.º 33
0
        public static void Sort <T>(T[] a, int fromIndex, int toIndex, Comparator <T> comparator)
        {
            if (fromIndex < 0 || toIndex > a.Length)
            {
                throw new IndexOutOfBoundsException();
            }
            int len = toIndex - fromIndex;

            if (len < 0 || comparator == null)
            {
                throw new IllegalArgumentException();
            }
            Mergesort <T>(a, fromIndex, len, comparator, (len >= 4) ? new T[len / 2] : null);
        }
Exemplo n.º 34
0
        public static void _merge <T>(
            Comparator <T> compare,
            List <T> firstList,
            int firstStart,
            int firstEnd,
            List <T> secondList,
            int secondStart,
            int secondEnd,
            List <T> target,
            int targetOffset)
        {
            // No empty lists reaches here.
            D.assert(firstStart < firstEnd);
            D.assert(secondStart < secondEnd);
            int cursor1       = firstStart;
            int cursor2       = secondStart;
            var firstElement  = firstList[cursor1++];
            var secondElement = secondList[cursor2++];

            while (true)
            {
                if (compare(firstElement, secondElement) <= 0)
                {
                    target[targetOffset++] = firstElement;
                    if (cursor1 == firstEnd)
                    {
                        break;                      // Flushing second list after loop.
                    }
                    firstElement = firstList[cursor1++];
                }
                else
                {
                    target[targetOffset++] = secondElement;
                    if (cursor2 != secondEnd)
                    {
                        secondElement = secondList[cursor2++];
                        continue;
                    }

                    target[targetOffset++] = firstElement;
                    setRange(target, targetOffset, targetOffset + (firstEnd - cursor1),
                             firstList, cursor1);
                    return;
                }
            }
            // First list empties first. Reached by break above.
            target[targetOffset++] = secondElement;
            setRange(target
                     , targetOffset, targetOffset + (secondEnd - cursor2), secondList, cursor2);
        }
Exemplo n.º 35
0
        public Comparator Post(ComparatorCopy request)
        {
            Comparator ret = null;

            using (Execute)
            {
                Execute.Run(ssn =>
                {
                    var entity = DocEntityComparator.GetComparator(request?.Id);
                    if (null == entity)
                    {
                        throw new HttpError(HttpStatusCode.NoContent, "The COPY request did not succeed.");
                    }
                    if (!DocPermissionFactory.HasPermission(entity, currentUser, DocConstantPermission.ADD))
                    {
                        throw new HttpError(HttpStatusCode.Forbidden, "You do not have ADD permission for this route.");
                    }

                    var pDocumentSets = entity.DocumentSets.ToList();
                    var pName         = entity.Name;
                    if (!DocTools.IsNullOrEmpty(pName))
                    {
                        pName += " (Copy)";
                    }
                    var pURI = entity.URI;
                    if (!DocTools.IsNullOrEmpty(pURI))
                    {
                        pURI += " (Copy)";
                    }
                    #region Custom Before copyComparator
                    #endregion Custom Before copyComparator
                    var copy = new DocEntityComparator(ssn)
                    {
                        Hash   = Guid.NewGuid()
                        , Name = pName
                        , URI  = pURI
                    };
                    foreach (var item in pDocumentSets)
                    {
                        entity.DocumentSets.Add(item);
                    }

                    #region Custom After copyComparator
                    #endregion Custom After copyComparator
                    copy.SaveChanges(DocConstantPermission.ADD);
                    ret = copy.ToDto();
                });
            }
            return(ret);
        }
        static void Main(string[] args)
        {
            //Input the sorting network and comparators
            //Console.WriteLine("Enter the number of wires and number of comparators seperated by a space: ");
            string[] allInputs = File.ReadAllLines("input1.txt");
            string[] inputs = allInputs[0].Split(' ');
            int wires = Int32.Parse(inputs[0]);
            int comparatorCount = Int32.Parse(inputs[1]);

            Comparator[] comparators = new Comparator[comparatorCount];

            //Console.WriteLine("Enter the wires compared by the comparators seperated by a space: ");
            for (int i = 1; i < comparatorCount + 1; i++)
            {
                inputs = allInputs[i].Split(' ');

                comparators[i - 1].wire1 = Int32.Parse(inputs[0]);
                comparators[i - 1].wire2 = Int32.Parse(inputs[1]);
            }

            //Evaluate if all 2^n combinations of 0's and 1's sort correctly
            int[] combination = new int[wires];
            int[] wireData = new int[wires];
            int[] result = combination;
            bool validSortingNetwork = true;
            while (combination.Contains(0))
            {
                for (int i = 0; i < wires; i++)
                    wireData[i] = combination[i];

                //Check if the combination is sorted
                if (!isValidSortingNetwork(wireData, comparators))
                {
                    validSortingNetwork = false;
                    break;
                }

                //Generate a new combination
                combination = setNextCombination(combination);
            }

            if (validSortingNetwork)
                Console.WriteLine("Valid Network");
            else
                Console.WriteLine("Invalid Network");

            Console.ReadLine();
        }
Exemplo n.º 37
0
 /// <summary> Sorts its argument (destructively) using insert sort; in the context of this package
 /// insertion sort is simple and efficient given its relatively small inputs.
 /// 
 /// </summary>
 /// <param name="vector">vector to sort
 /// </param>
 /// <param name="comparator">comparator to define sort ordering
 /// </param>
 public static void insertionSort(ArrayList vector, Comparator comparator)
 {
     int max = vector.Count;
     for (int i = 1; i < max; i++)
     {
         Object value_Renamed = vector[i];
         int j = i - 1;
         Object valueB;
         while (j >= 0 && comparator.compare((valueB = vector[j]), value_Renamed) > 0)
         {
             vector[j + 1] = valueB;
             j--;
         }
         vector[j + 1] = value_Renamed;
     }
 }
Exemplo n.º 38
0
 // added by .net follower (http://dotnetfollower.com)
 /// <summary> Sorts its argument (destructively) using insert sort; in the context of this package
 /// insertion sort is simple and efficient given its relatively small inputs.
 /// 
 /// </summary>
 /// <param name="vector">vector to sort
 /// </param>
 /// <param name="comparator">comparator to define sort ordering
 /// </param>
 // public static void  insertionSort(System.Collections.ArrayList vector, Comparator comparator) // commented by .net follower (http://dotnetfollower.com)
 public static void insertionSort(System.Collections.Generic.List<Object> vector, Comparator comparator)
 {
     int max = vector.Count;
     for (int i = 1; i < max; i++)
     {
         System.Object value_Renamed = vector[i];
         int j = i - 1;
         System.Object valueB;
         while (j >= 0 && comparator.compare((valueB = vector[j]), value_Renamed) > 0)
         {
             vector[j + 1] = valueB;
             j--;
         }
         vector[j + 1] = value_Renamed;
     }
 }
Exemplo n.º 39
0
        //
        // PROTECTED METHODS
        //
        protected Comparator<Node> getComparator()
        {
            Comparator<Node> f = new Comparator<Node>()
            {
                //public int compare(Node n1, Node n2) {
                //    Double f1 = evaluationFunction.f(n1);
                //    Double f2 = evaluationFunction.f(n2);

                //    return f1.compareTo(f2);
                //}
            };

            if (this.search is GraphSearch)
            {
                ((GraphSearch)this.search)
                        .setReplaceFrontierNodeAtStateCostFunction(f);
            }

            return f;
        }
        static bool isValidSortingNetwork(int[] combination, Comparator[] comparators)
        {
            //Run the sorting network on the combination
            for (int i = 0; i < comparators.Length; i++)
            {
                if (combination[comparators[i].wire1] < combination[comparators[i].wire2])
                {
                    int temp = combination[comparators[i].wire1];
                    combination[comparators[i].wire1] = combination[comparators[i].wire2];
                    combination[comparators[i].wire2] = temp;
                }
            }

            for (int i = 0; i < combination.Length-1; i++)
            {
                if (combination[i] < combination[i + 1])
                    return false;
            }

            return true;
        }
Exemplo n.º 41
0
        public void test(Comparator comparator)
        {
             List<Product> IndexofList = db.Products.ToList();

             Product p1 = new Product();
             p1.Price = 10;
             Product p2 = new Product();
             p2.Price = 20;
             comparator(p1, p2);

        }
Exemplo n.º 42
0
 public void Test_Comparator()
 {
     Comparator<int> compar = new Comparator<int>((x, y) => x - y);
     Assert.AreEqual(-7, compar.Compare(10, 17));
 }
Exemplo n.º 43
0
 public Precondition(string value1, Comparator op)
 {
     this.stringValue1 = value1;
     this.comparator = op;
     numberOfarguemnts = 1;
 }
Exemplo n.º 44
0
        public Condition(string name, string comparison, string value, string queryField, string resultField = null)
        {
            _alias = "";
            _validated = false;
            Enabled = true;

            try
            {
                if (string.IsNullOrEmpty(name)) name = string.Format("{0} {1} {2}", queryField, comparison, value);
                Name = name;
                Value = value;
                QueryField = queryField;
                ResultField = string.IsNullOrEmpty(resultField) ? queryField : resultField;
                Comparison = GetComparitor(comparison);
                if (string.IsNullOrEmpty(queryField))
                    throw new Exception("Conditions must include a query field");
            }
            catch (Exception ex)
            {
                if (BoostLog.Instance != null)
                    BoostLog.Instance.WriteEntry(EventLogEntryType.Error,
                        string.Format("Condition {0} is disabled.", name), ex, _alias);
                Enabled = false;
            }
        }
Exemplo n.º 45
0
 /// <summary>
 /// Creates a default instance of the Min object.
 /// </summary>
 internal Min()
 {
     Comparator = new Comparator();
 }
Exemplo n.º 46
0
 /// <summary>
 /// Searches the specified list for the specified object using the binary search algorithm.
 /// </summary>
 public static int binarySearch(List list, object key, Comparator c)
 {
     return default(int);
 }
Exemplo n.º 47
0
 /// <summary>
 /// Sorts the specified list according to the order induced by the specified comparator.
 /// </summary>
 public static void sort(List list, Comparator c)
 {
     return;
 }
Exemplo n.º 48
0
 /// <summary>
 /// Returns the maximum element of the given collection, according to the order induced by the specified comparator.
 /// </summary>
 public static object max(Collection coll, Comparator comp)
 {
     return default(object);
 }
Exemplo n.º 49
0
        void ParseXml(XElement data)
        {
            try
            {
                var comparison = Input.GetAttribute(data, "comparison");
                Comparator c;
                if (!Enum.TryParse(comparison, true, out c))
                    throw new Exception(string.Format("Illegal comparitor {0}", comparison));
                Op = c;

                var valNodes = data.Elements("valueNode").ToList();
                if (valNodes.Count != 2)
                    throw new Exception("each logicNode must have two ValueNodes.");

                for (var i = 0; i < 2; i++)
                {
                    var typeName = Input.GetAttribute(valNodes[i], "type");
                    ValueNodeBase.ValueNodeType vType;
                    if (!Enum.TryParse(typeName, true, out vType))
                        vType = ValueNodeBase.ValueNodeType.String;

                    Nodes[i] = ValueNodeBase.CreateNewNode(vType, valNodes[i]);
                }
            }
            catch (Exception ex)
            {
                if (BoostLog.Instance != null)
                    BoostLog.Instance.WriteEntry(EventLogEntryType.Error,
                        string.Format("LogicNode {0} is disabled.", Name), ex, _alias);
                Enabled = false;
            }
        }
Exemplo n.º 50
0
		public TreeSet(Comparator c) : this(new TreeMap(c))
		{
		}
Exemplo n.º 51
0
    protected void Page_Load(object sender, EventArgs e)
    {
        HDSchedule schedule = getSchedule(Convert.ToInt32(Session["UserID"]));

        Boolean scheduleHasClasses = schedule.hasClasses();
        Boolean scheduleHasTeachers = schedule.hasTeachers();

        if (scheduleHasClasses)
        {
            ltrClasses.Text = "";
            ltrClasses.Text += "<table id='classes-table'><tr><th id='classes-table-header' colspan='6'>Classes</th></tr>";
            for (int y = 0; y < HDSchedule.DEFAULT_DAY_LENGTH; y++)
            {
                ltrClasses.Text += "<tr class='classes-row'>";
                for (int x = 0; x < HDSchedule.DEFAULT_WEEK_LENGTH; x++)
                {
                    ltrClasses.Text += "<td class='classes-cell'>";
                    string className = schedule.classes[x, y];
                    ltrClasses.Text += className;

                    ltrClasses.Text += "<div class='roster-tooltip'>";
                    ltrClasses.Text += "<div class='roster-tooltip-header'>Friends in " + className + "</div>";

                    ltrClasses.Text += "<div class='roster-tooltip-text'>";

                    List<string> friendsInClass = new List<string>();

                    string selectFriendsStringCmdStr = "SELECT Friends FROM Users WHERE ID = ?";
                    OleDbCommand selectFriendsStringCmd = new OleDbCommand(selectFriendsStringCmdStr, conn);
                    selectFriendsStringCmd.Parameters.Add(new OleDbParameter("@ID", Session["UserID"]));

                    conn.Open();
                    OleDbDataReader drFriends = selectFriendsStringCmd.ExecuteReader();
                    string friendsString = "";
                    while (drFriends.Read())
                        friendsString = (string)drFriends["Friends"];
                    drFriends.Close();
                    conn.Close();

                    if (friendsString.Length > 0)
                    {
                        string[] friendIDStrings = friendsString.Split(' ');
                        int[] friendIDs = new int[friendIDStrings.Length];
                        for (int i = 0; i < friendIDStrings.Length; i++)
                            friendIDs[i] = Convert.ToInt32(friendIDStrings[i]);

                        string selectFriendsDataCmdStr = "SELECT First_Name, Last_Name, Username, Schedule FROM Users WHERE";
                        foreach (string friendID in friendIDStrings)
                            selectFriendsDataCmdStr += " ID = " + friendID + " OR";
                        selectFriendsDataCmdStr = selectFriendsDataCmdStr.Substring(0, selectFriendsDataCmdStr.Length - 3);
                        selectFriendsDataCmdStr += " ORDER BY Username";
                        OleDbCommand selectFriendsDataCmd = new OleDbCommand(selectFriendsDataCmdStr, conn);

                        conn.Open();
                        OleDbDataReader drFriendsData = selectFriendsDataCmd.ExecuteReader();
                        while (drFriendsData.Read())
                        {
                            HDSchedule friendSchedule = new HDSchedule();
                            friendSchedule.setFromDatabaseString((string)drFriendsData["Schedule"]);
                            Comparator compare = new Comparator(schedule, friendSchedule);

                            Boolean[,] commonPeriods = compare.getCommonPeriods();
                            if (commonPeriods[x, y] == true)
                                friendsInClass.Add((string)drFriendsData["Username"]);
                        }
                        drFriendsData.Close();
                        conn.Close();
                    }

                    if (friendsInClass.Count() == 0)
                        ltrClasses.Text += "None";
                    else
                        foreach (string friendInClassName in friendsInClass)
                            ltrClasses.Text += "<a class='friend-in-class-name-item' href='User.aspx?u=" + friendInClassName + "'>" + friendInClassName + "</a><br />";

                    ltrClasses.Text += "</div>";
                    ltrClasses.Text += "</div>";

                    ltrClasses.Text += "</td>";
                }
                ltrClasses.Text += "</tr>";
            }

            ltrClasses.Text += "</table>";
        }

        if (scheduleHasTeachers)
        {
            this.scheduleFriendsInstructions.Style.Add("display", "block");
            ltrTeachers.Text = "";
            ltrTeachers.Text += "<table id='teachers-table'><tr><th id='teachers-table-header' colspan='2'>Teachers</th></tr>";

            foreach (string className in schedule.teachers.Keys)
            {
                ltrTeachers.Text += "<tr class='teachers-row'>";

                ltrTeachers.Text += "<td class='teachers-cell' onclick='#teachers-cell'>";
                ltrTeachers.Text += className;

                ltrTeachers.Text += "<div class='roster-tooltip'>";
                ltrTeachers.Text += "<div class='roster-tooltip-header'>Friends in " + className + "</div>";

                ltrTeachers.Text += "<div class='roster-tooltip-text'>";

                List<string> friendsInClass = new List<string>();

                string selectFriendsStringCmdStr = "SELECT Friends FROM Users WHERE ID = ?";
                OleDbCommand selectFriendsStringCmd = new OleDbCommand(selectFriendsStringCmdStr, conn);
                selectFriendsStringCmd.Parameters.Add(new OleDbParameter("@ID", Session["UserID"]));

                conn.Open();
                OleDbDataReader drFriends = selectFriendsStringCmd.ExecuteReader();
                string friendsString = "";
                while (drFriends.Read())
                    friendsString = (string)drFriends["Friends"];
                drFriends.Close();
                conn.Close();

                if (friendsString.Length > 0)
                {
                    string[] friendIDStrings = friendsString.Split(' ');
                    int[] friendIDs = new int[friendIDStrings.Length];
                    for (int i = 0; i < friendIDStrings.Length; i++)
                        friendIDs[i] = Convert.ToInt32(friendIDStrings[i]);

                    string selectFriendsDataCmdStr = "SELECT First_Name, Last_Name, Username, Schedule FROM Users WHERE";
                    foreach (string friendID in friendIDStrings)
                        selectFriendsDataCmdStr += " ID = " + friendID + " OR";
                    selectFriendsDataCmdStr = selectFriendsDataCmdStr.Substring(0, selectFriendsDataCmdStr.Length - 3);
                    selectFriendsDataCmdStr += " ORDER BY Username";
                    OleDbCommand selectFriendsDataCmd = new OleDbCommand(selectFriendsDataCmdStr, conn);

                    conn.Open();
                    OleDbDataReader drFriendsData = selectFriendsDataCmd.ExecuteReader();
                    while (drFriendsData.Read())
                    {
                        HDSchedule friendSchedule = new HDSchedule();
                        friendSchedule.setFromDatabaseString((string)drFriendsData["Schedule"]);
                        Comparator compare = new Comparator(schedule, friendSchedule);

                        string[] commonClasses = compare.getCommonClasses();
                        if (commonClasses.Contains(className))
                        {
                            friendsInClass.Add((string)drFriendsData["Username"]);
                        }
                    }
                    drFriendsData.Close();
                    conn.Close();
                }

                if (friendsInClass.Count() == 0)
                    ltrTeachers.Text += "None";
                else
                    foreach (string friendInClassName in friendsInClass)
                        ltrTeachers.Text += "<a class='friend-in-class-name-item' href='User.aspx?u=" + friendInClassName + "'>" + friendInClassName + "</a><br />";

                ltrTeachers.Text += "</div>";
                ltrTeachers.Text += "</div>";

                ltrTeachers.Text += "</td>";

                ltrTeachers.Text += "<td class='teachers-cell'>";
                string teacherName = "";
                schedule.teachers.TryGetValue(className, out teacherName);
                ltrTeachers.Text += teacherName;
                ltrTeachers.Text += "</td>";

                ltrTeachers.Text += "</tr>";
            }

            ltrTeachers.Text += "</table>";
        }

        if (!scheduleHasClasses && !scheduleHasTeachers)
        {
            this.btnApplyTeachers.Enabled = false;
            this.btnApplyTeachers.Style.Add("background", "rgba(100, 100, 100, .1)");
            this.btnApplyTeachers.Style.Add("color", "rgba(30, 30, 30, .3)");
            this.btnApplyTeachers.Style.Add("border", "1px solid rgba(40, 40, 40, .1)");
            this.scheduleFriendsInstructions.Style.Add("display", "none");
        }
        else if (scheduleHasClasses && !scheduleHasTeachers)
        {
            string[] classNames = schedule.getAllClassNames();
            DropDownList[] dropDowns = new DropDownList[classNames.Length];
            for (int i = 0; i < classNames.Length; i++)
            {
                dropDowns[i] = new DropDownList();
                dropDowns[i].CssClass = "teachers-drop-down";
                dropDowns[i].Items.Add(new ListItem(teacherDropdownDefaultText));

                string selectTeacherNamesCmdStr = "SELECT First_Name, Last_Name FROM Teachers  ORDER BY Last_Name ASC";
                OleDbCommand selectTeacherNamesCmd = new OleDbCommand(selectTeacherNamesCmdStr, conn);

                conn.Open();
                OleDbDataReader drTeacherNames = selectTeacherNamesCmd.ExecuteReader();
                while (drTeacherNames.Read())
                    dropDowns[i].Items.Add(new ListItem(drTeacherNames["Last_Name"] + ", " + drTeacherNames["First_Name"]));
                drTeacherNames.Close();
                conn.Close();

                dropDowns[i].Items.FindByText(teacherDropdownDefaultText).Selected = true;
            }
            for (int i = 0; i < classNames.Length; i++)
            {
                string classNameText = "<div class='teachers-class-name'>" + classNames[i] + "</div>";
                LiteralControl classNameCtrl = new LiteralControl(classNameText);
                Panel pnlClassNameAndDropdown = new Panel();
                pnlClassNameAndDropdown.CssClass = "pnlClassNameWithDropdown";
                pnlClassNameAndDropdown.Controls.Add(classNameCtrl);
                pnlClassNameAndDropdown.Controls.Add(dropDowns[i]);
                this.pnlTeacherDropdowns.Controls.Add(pnlClassNameAndDropdown);
            }
            this.scheduleFriendsInstructions.Style.Add("display", "none");
        }
        else if (scheduleHasClasses && scheduleHasTeachers)
        {
            string[] classNames = schedule.getAllClassNames();
            DropDownList[] dropDowns = new DropDownList[classNames.Length];
            for (int i = 0; i < classNames.Length; i++)
            {
                dropDowns[i] = new DropDownList();
                dropDowns[i].CssClass = "teachers-drop-down";

                string selectTeacherNamesCmdStr = "SELECT First_Name, Last_Name FROM Teachers ORDER BY Last_Name ASC";
                OleDbCommand selectTeacherNamesCmd = new OleDbCommand(selectTeacherNamesCmdStr, conn);

                conn.Open();
                OleDbDataReader drTeacherNames = selectTeacherNamesCmd.ExecuteReader();
                while (drTeacherNames.Read())
                    dropDowns[i].Items.Add(new ListItem(drTeacherNames["Last_Name"] + ", " + drTeacherNames["First_Name"]));
                drTeacherNames.Close();
                conn.Close();
            }
            for (int i = 0; i < classNames.Length; i++)
            {
                string classNameText = "<div class='teachers-class-name'>" + classNames[i] + "</div>";
                LiteralControl classNameCtrl = new LiteralControl(classNameText);
                Panel pnlClassNameAndDropdown = new Panel();
                pnlClassNameAndDropdown.CssClass = "pnlClassNameWithDropdown";
                pnlClassNameAndDropdown.Controls.Add(classNameCtrl);
                pnlClassNameAndDropdown.Controls.Add(dropDowns[i]);
                this.pnlTeacherDropdowns.Controls.Add(pnlClassNameAndDropdown);

                string teacherName = "";
                schedule.teachers.TryGetValue(classNames[i], out teacherName);
                dropDowns[i].Items.FindByText(teacherName).Selected = true;
            }
        }
    }
Exemplo n.º 52
0
        /// <summary>
        ///  Show the method Comparator
        /// </summary>
        int ShowComparator()
        {
            // Save the original method to return it later
            InterpolationMethod interpMethodOriginal = Backtester.InterpolationMethod;

            Comparator mc = new Comparator();
            mc.ShowDialog();

            // Returns the original method
            Backtester.InterpolationMethod = interpMethodOriginal;
            Calculate(false);

            return 0;
        }
Exemplo n.º 53
0
 public Precondition(object value1, Comparator op)
 {
     this.value1 = value1;
     this.comparator = op;
     numberOfarguemnts = 1;
 }
Exemplo n.º 54
0
 void ParseElementXml(XElement ec)
 {
     try
     {
         Name = Input.GetAttribute(ec, "name");
         Value = Input.GetAttribute(ec, "value");
         QueryField = Input.GetAttribute(ec, "fieldName");
         ResultField = Input.GetAttribute(ec, "resultFieldName");
         if (string.IsNullOrEmpty(ResultField)) ResultField = QueryField;
         var comparison = Input.GetAttribute(ec, "comparison");
         Comparison = GetComparitor(comparison);
         if (string.IsNullOrEmpty(Name)) Name = string.Format("{0} {1} {2}", QueryField, comparison, Value);
         if (string.IsNullOrEmpty(QueryField))
             throw new Exception("Conditions must include a query field");
     }
     catch (Exception ex)
     {
         if (BoostLog.Instance != null)
             BoostLog.Instance.WriteEntry(EventLogEntryType.Error,
                 string.Format("Condition {0} is disabled.", Name), ex, _alias);
         Enabled = false;
     }
 }
Exemplo n.º 55
0
		public TreeMap(Comparator c) : this(new RedBlackTree(c))
		{
		}
Exemplo n.º 56
0
 /// <summary>
 /// Creates a default Max object.
 /// </summary>
 internal Max()
 {
     Comparator = new Comparator();
 }
Exemplo n.º 57
0
 public static DashComparisonDef GetComparisonDef(Comparator c)
 {
     switch (c)
     {
         case Comparator.Eq:
             return new DashComparisonDef { Value = "eq", Name = "equals" };
         case Comparator.Ne:
             return new DashComparisonDef { Value = "ne", Name = "is not equal to" };
         case Comparator.Lt:
             return new DashComparisonDef { Value = "lt", Name = "is less than" };
         case Comparator.Gt:
             return new DashComparisonDef { Value = "gt", Name = "is greater than" };
         case Comparator.Le:
             return new DashComparisonDef { Value = "le", Name = "is less than or equal to" };
         case Comparator.Ge:
             return new DashComparisonDef { Value = "ge", Name = "is greater than or equal to" };
         case Comparator.Contains:
             return new DashComparisonDef { Value = "contains", Name = "contains" };
         case Comparator.StartsWith:
             return new DashComparisonDef { Value = "startsWith", Name = "starts with" };
         case Comparator.EndsWith:
             return new DashComparisonDef { Value = "endsWith", Name = "ends with" };
         case Comparator.IsOneOf:
             return new DashComparisonDef { Value = "isOneOf", Name = "is one of" };
         case Comparator.Copy:
             return new DashComparisonDef { Value = "Copy", Name = "Copy" };
         default:
             throw new Exception("Illegal comparator: " + c);
     }
 }
Exemplo n.º 58
0
        /*Condition(std::string value1, std::string value2 , Comparator op);
        Condition(std::string value1, boost::any value2 , Comparator op);
        */
        /*
        Condition::Condition(std::string value1, std::string value2 , Comparator op)
        {
            this->stringValue1 = value1;
            this->stringValue2 = value2;
            this->comparator = op;
            numberOfarguemnts = 2;
        }

        Condition::Condition(std::string value1, boost::any value2 , Comparator op)
        {

            this->stringValue1 = value1;
            this->value2 = value2;
            this->comparator = op;
            numberOfarguemnts = 2;
        }*/
        public Precondition(object value1, object value2, Comparator op)
        {
            string temp = null;
            try
            {
                temp = (string)(value1);
            }
            catch (InvalidCastException )
            {
                Console.Write(" cought an exception");
                Console.Write("\n");
            }
            if (!string.IsNullOrEmpty(temp))
            {
                if (temp.ElementAt(0) == '$')
                {
                    stringValue1 = temp;
                }
                else
                {
                    this.value1 = value1;
                }
                temp = null;
            }
            else
            {
                this.value1 = value1;
            }

            try
            {
                temp = (string)(value2);
            }
            catch (InvalidCastException)
            {
                Console.Write(" cought an exception");
                Console.Write("\n");
            }
            if (!string.IsNullOrEmpty(temp))
            {
                if (temp.ElementAt(0) == '$')
                {
                    Console.Write(" argument value1 is a path string  ");
                    Console.Write("\n");
                    stringValue2 = temp;
                }
                else
                {
                    this.value2 = value2;
                }
                temp = null;
            }
            else
            {
                this.value2 = value2;
            }
            /*

            try
            {
                string temp  =  boost::any_cast<string>(value1);
                if(temp.ElementAt(0) == '$')
                 {
                    cout<< " argument value1 is a path string  " << endl;
                    stringValue1 = temp;
                }
                else
                {
                    cout<< "string artument value2 is a value type "<< endl;
                    this->value1  =  value1;
                }

                 temp  =  boost::any_cast<string>(value2);
                if(temp.ElementAt(0) == '$')
                 {
                    cout<< " argument value2 is a path string  " << endl;
                    stringValue2 = temp;
                }
                else
                {
                    cout<< "string artument value2 is a value type "<< endl;
                    this->value2  =  value2;
                }

            }
            catch(boost::exception const&  ex)
            {
                cout<< " cought an exception" <<endl;
            }

            /*string temp = value1;
                 if(value1.ElementAt(0) == '$')
                 {
                 */
            //	this->value1 = value1;
            //	this->value2 = value2;

            this.comparator = op;
            numberOfarguemnts = 2;
        }
Exemplo n.º 59
0
        /**
         * Generate a new coloring based on the Comparator comp 
         * (one iteration of refinement)
         * @param states A vector of the states
         * @param coloring The current coloring
         * @param comp the Comparator
         * @return a pointer to a newly created Coloring, memory ownership
         *         passes to the caller
         */
        //template <class Comparator>
        private Coloring generateColoring(List<int> states, Coloring coloring, Comparator comp)
        {

            //std::sort(states.begin(), states.end(), comp);
            states.Sort();

            Coloring result = new Coloring(coloring.size(), coloring.getFlagDetailed());

            if (states.Count == 0)
            {
                return result;
            }

            //state_vector::reverse_iterator current = states.rbegin(), last = states.rbegin();
            int current = states[states.Count - 1];
            int last = states[states.Count - 1];

            result.setColor(current, result.newColor());

            for (int i = states.Count - 1; i >= 0; i--)//////-1 or -2?
            {
                current = states[i];
                // because states is sorted and we traverse 
                // from the end, either:
                //    *current  < *last with comp(current,last)==true
                // or *current == *last with !comp(current,last)
                if (comp.comp(current, last))
                {
                    // -> we have to start a new color
                    result.setColor(current, result.newColor());
                }
                else
                {
                    // -> more of the same, we stay with this color
                    result.setColor(current, result.currentColor());
                }

                last = current;
            }

            ////while (++current != states.rend())
            //while (++current != states[0])
            //{
            //    // because states is sorted and we traverse 
            //    // from the end, either:
            //    //    *current  < *last with comp(current,last)==true
            //    // or *current == *last with !comp(current,last)
            //    if (comp.comp(current, last))
            //    {
            //        // -> we have to start a new color
            //        result.setColor(current, result.newColor());
            //    }
            //    else
            //    {
            //        // -> more of the same, we stay with this color
            //        result.setColor(current, result.currentColor());
            //    }

            //    last = current;
            //}

            return result;
        }
    /// <summary>
    /// Draws and updates the leaderboard on the communal display
    /// </summary>
    public void DrawLeaderboard()
    {
        //		Debug.Log (boardIcons);

        ArrayList entries = new ArrayList ();
        ArrayList text = new ArrayList ();
        foreach (StealSystem sys in stealSys) {
            entries.Add (new TextEntry("Player " + sys.playerRefID, sys.carriedMoney));
            text.Add("Player " + sys.playerRefID);
        }

        //		Debug.Log ("Pre Sort");
        //		foreach (TextEntry e in entries) {
        ////			Debug.Log (e.player + ": " + e.value);
        //		}

        IComparer comp = new Comparator ();
        entries.Sort (comp);
        this.stats = (string[]) text.ToArray (typeof(string));

        //		Debug.Log ("Post Sort");
        //		foreach (TextEntry e in entries) {
        ////			Debug.Log (e.player + ": " + e.value);
        //		}

        for (int i = 0; i < entries.Count; ++i) {
            ((GameObject) boardIcons[i]).GetComponent<Text>().text = (i + 1) + ": ("
                    + ((TextEntry) entries[i]).value + ") " + ((TextEntry) entries[i]).player;
        }
    }