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());
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"); }
//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); }
/// <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, }); }
/// <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, }; }
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"); }
/// <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, }; }
/// <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, }); }