Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for breakPatterns (0.38 sec)

  1. src/sort/zsortinterface.go

    				if !data.Less(j, j-1) {
    					break
    				}
    				data.Swap(j, j-1)
    			}
    		}
    	}
    	return false
    }
    
    // breakPatterns scatters some elements around in an attempt to break some patterns
    // that might cause imbalanced partitions in quicksort.
    func breakPatterns(data Interface, a, b int) {
    	length := b - a
    	if length >= 8 {
    		random := xorshift(length)
    		modulus := nextPowerOfTwo(length)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 13 20:16:24 UTC 2022
    - 11.2K bytes
    - Viewed (0)
  2. src/sort/gen_sort_variants.go

    					break
    				}
    				{{Swap "data" "j" "j-1"}}
    			}
    		}
    	}
    	return false
    }
    
    // breakPatterns{{.FuncSuffix}} scatters some elements around in an attempt to break some patterns
    // that might cause imbalanced partitions in quicksort.
    func breakPatterns{{.FuncSuffix}}{{.TypeParam}}(data {{.DataType}}, a, b int {{.ExtraParam}}) {
    	length := b - a
    	if length >= 8 {
    		random := xorshift(length)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 19 23:33:27 UTC 2023
    - 19.6K bytes
    - Viewed (0)
  3. src/sort/sort_test.go

    		if a[i] != r[len(data)-1-i] {
    			t.Errorf("reverse sort didn't sort")
    		}
    		if i > len(data)/2 {
    			break
    		}
    	}
    }
    
    func TestBreakPatterns(t *testing.T) {
    	// Special slice used to trigger breakPatterns.
    	data := make([]int, 30)
    	for i := range data {
    		data[i] = 10
    	}
    	data[(len(data)/4)*1] = 0
    	data[(len(data)/4)*2] = 1
    	data[(len(data)/4)*3] = 2
    	Sort(IntSlice(data))
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 07 19:41:04 UTC 2024
    - 16.9K bytes
    - Viewed (0)
Back to top