コード例 #1
0
 private void MergeByComparison()
 {
     var left = dataLeft.Count > 0 ? dataLeft.Peek() : default;
     var right = dataRight.Count > 0 ? dataRight.Peek() : default; ;
     if (right == null)
         CreateOutput(dataLeft.Dequeue(), right);
     else if (left == null)
         CreateOutput(left, dataRight.Dequeue());
     else
     {
         int comp = ComparisonFunc.Invoke(left, right);
         if (comp == 0)
             CreateOutput(dataLeft.Dequeue(), dataRight.Dequeue());
         else if (comp < 0)
             CreateOutput(dataLeft.Dequeue(), default);
         else if (comp > 0)
             CreateOutput(default, dataRight.Dequeue());
コード例 #2
0
        public static D3DComparison Convert(ComparisonFunc cmp)
        {
            switch (cmp)
            {
            case ComparisonFunc.Always:       return(D3DComparison.Always);

            case ComparisonFunc.Equal:       return(D3DComparison.Equal);

            case ComparisonFunc.Greater:       return(D3DComparison.Greater);

            case ComparisonFunc.GreaterEqual:       return(D3DComparison.GreaterEqual);

            case ComparisonFunc.Less:       return(D3DComparison.Less);

            case ComparisonFunc.LessEqual:       return(D3DComparison.LessEqual);

            case ComparisonFunc.Never:       return(D3DComparison.Never);

            case ComparisonFunc.NotEqual:       return(D3DComparison.NotEqual);
            }

            throw new ArgumentException("Bad comparison function");
        }
コード例 #3
0
ファイル: Dec4.cs プロジェクト: smith458/AdventOfCode2017
        //Compares all the words in an array. Returns number of times comparison was true.
        private static int CountComparisonTruesInArray(string[] words, ComparisonFunc comp)
        {
            int count = 0;

            //x is the word it is comparing. Starts at the front of the list and counts to the second to last
            for (int x = 0; x < words.Length - 1; x++)
            {
                //y is the word x is being compared against. Starts one after x and moves to the end of the list
                for (int y = x + 1; y < words.Length; y++)
                {
                    //Only words of the same length can be anagrams
                    if (words[x].Length == words[y].Length)
                    {
                        //Check to see if the two words are anagrams
                        if (comp(words[x], words[y]))
                        {
                            count++;
                        }
                    }
                }
            }

            return(count);
        }
コード例 #4
0
ファイル: SamplerState.cs プロジェクト: nkast/FusionFramework
 /// <summary>
 /// Creates a new instance of sampler state
 /// </summary>
 /// <param name="filter"></param>
 /// <param name="addressMode"></param>
 /// <param name="borderColor"></param>
 /// <param name="comparison"></param>
 /// <returns></returns>
 public static SamplerState Create(Filter filter, AddressMode addressMode, Color4 borderColor, ComparisonFunc cmpFunc = ComparisonFunc.Always)
 {
     return(new SamplerState()
     {
         Filter = filter,
         Address = addressMode,
         BorderColor = borderColor,
         ComparisonFunc = cmpFunc,
     });
 }
コード例 #5
0
ファイル: SamplerState.cs プロジェクト: temik911/audio
 /// <summary>
 /// Creates a new instance of sampler state
 /// </summary>
 /// <param name="filter"></param>
 /// <param name="addressMode"></param>
 /// <param name="borderColor"></param>
 /// <param name="comparison"></param>
 /// <returns></returns>
 public static SamplerState Create( Filter filter, AddressMode addressMode, Color4 borderColor, ComparisonFunc cmpFunc = ComparisonFunc.Always )
 {
     return new SamplerState() {
         Filter			=	filter,
         Address			=	addressMode,
         BorderColor		=	borderColor,
         ComparisonFunc	=	cmpFunc,
     };
 }
コード例 #6
0
ファイル: Enums.cs プロジェクト: demiurghg/FusionEngine
		public static D3DComparison Convert ( ComparisonFunc cmp )
		{
			switch ( cmp ) {
				case ComparisonFunc.Always			:	return D3DComparison.Always;
				case ComparisonFunc.Equal			:	return D3DComparison.Equal;
				case ComparisonFunc.Greater			:	return D3DComparison.Greater;
				case ComparisonFunc.GreaterEqual	:	return D3DComparison.GreaterEqual;
				case ComparisonFunc.Less			:	return D3DComparison.Less;
				case ComparisonFunc.LessEqual		:	return D3DComparison.LessEqual;
				case ComparisonFunc.Never			:	return D3DComparison.Never;
				case ComparisonFunc.NotEqual		:	return D3DComparison.NotEqual;
			}

			throw new ArgumentException("Bad comparison function");
		}
コード例 #7
0
		/// <summary>
		/// Creates a new instance of sampler state
		/// </summary>
		/// <param name="filter"></param>
		/// <param name="addressMode"></param>
		/// <param name="borderColor"></param>
		/// <param name="comparison"></param>
		/// <returns></returns>
		public static SamplerState Create ( Filter filter, AddressMode addressMode, Color4 borderColor, ComparisonFunc cmpFunc = ComparisonFunc.Always, int maxMipLevel = int.MaxValue )
		{
			return new SamplerState() {
				Filter			=	filter,
				Address			=	addressMode,
				BorderColor		=	borderColor,
				ComparisonFunc	=	cmpFunc,
				MaxMipLevel		=	maxMipLevel,
			};
		}
コード例 #8
0
ファイル: SamplerState.cs プロジェクト: ttou73/IronStar
 /// <summary>
 /// Creates a new instance of sampler state
 /// </summary>
 /// <param name="filter"></param>
 /// <param name="addressMode"></param>
 /// <param name="borderColor"></param>
 /// <param name="comparison"></param>
 /// <returns></returns>
 public static SamplerState Create(Filter filter, AddressMode addressMode, Color4 borderColor, ComparisonFunc cmpFunc = ComparisonFunc.Always, int maxMipLevel = int.MaxValue)
 {
     return(new SamplerState()
     {
         Filter = filter,
         Address = addressMode,
         BorderColor = borderColor,
         ComparisonFunc = cmpFunc,
         MaxMipLevel = maxMipLevel,
     });
 }