コード例 #1
0
    protected override string RunUIntSort(SortSettings settings)
    {
        var sorter = SortSource.Instance.GetNativeUIntSorter(settings.name);
        var array  = NativeDataGenerator.GenrateRandomArray(settings.Count, (uint)settings.Min, (uint)settings.Max);
        var result = GetResult(settings,
                               () =>
        {
            NativeDataGenerator.ShuffleList(array, 1f);
            NativeDataGenerator.SortPartial(array, settings.Sorted);
        },
                               () =>
        {
            sorter(array);
        }
                               );

        array.Dispose();
        return(result);
    }
コード例 #2
0
    static string SelectionUIntArray(SortSettings settings)
    {
        var array = NativeDataGenerator.GenrateRandomArray(settings.Count, (uint)settings.Min, (uint)settings.Max);

        NativeDataGenerator.SortPartial(array, settings.Sorted);
        var res = BaseSortRunner.GetResult(settings,
                                           () =>
        {
            NativeDataGenerator.ShuffleList(array, 1f);
            NativeDataGenerator.SortPartial(array, settings.Sorted);
        },
                                           () =>
        {
            SelectionUIntArray(array);
        }
                                           );

        array.Dispose();
        return(res);
    }
コード例 #3
0
    //check if instantiating NativeSlice have performance cost
    string NativeSliceSortIgnoreSliceCost(SortSettings settings)
    {
        var array = NativeDataGenerator.GenrateRandomArray(settings.Count, (uint)settings.Min, (uint)settings.Max);

        NativeDataGenerator.SortPartial(array, settings.Sorted);
        var slice = new NativeSlice <uint>(array);
        var res   = BaseSortRunner.GetResult(settings,
                                             () =>
        {
            NativeDataGenerator.ShuffleList(array, 1f);
            NativeDataGenerator.SortPartial(array, settings.Sorted);
        },
                                             () =>
        {
            SelectionSortSlice(array);
        }
                                             );

        array.Dispose();
        return(res);
    }
コード例 #4
0
    public void radixLSB_sort_test(float count, float min, float max)
    {
        var list = NativeDataGenerator.GenrateRandomArray((int)count, min, max);

        SortTest(list, "RadixLSB sort ", Sort.RadixLSBSort);
    }
コード例 #5
0
    public void heap_sort_test(float count, float min, float max)
    {
        var list = NativeDataGenerator.GenrateRandomArray((int)count, min, max);

        SortTest(list, "Heap sort ", Sort.HeapSort);
    }
コード例 #6
0
    public void mergeInsertion_sort_test(float count, float min, float max)
    {
        var list = NativeDataGenerator.GenrateRandomArray((int)count, min, max);

        SortTest(list, "Quick sort ", Sort.MergeInsertionSort);
    }
コード例 #7
0
    public void shell_sort_test(float count, float min, float max)
    {
        var list = NativeDataGenerator.GenrateRandomArray((int)count, min, max);

        SortTest(list, "Shell sort ", Sort.ShellSort);
    }
コード例 #8
0
    public void comb_sort_test(float count, float min, float max)
    {
        var list = NativeDataGenerator.GenrateRandomArray((int)count, min, max);

        SortTest(list, "Comb sort ", Sort.CombSort);
    }
コード例 #9
0
    public void bubble_sort_test(float count, float min, float max)
    {
        var list = NativeDataGenerator.GenrateRandomArray((int)count, min, max);

        SortTest(list, "Bubble sort ", Sort.BubbleSort);
    }
コード例 #10
0
    public void selection_sort_test(float count, float min, float max)
    {
        var list = NativeDataGenerator.GenrateRandomArray((int)count, min, max);

        SortTest(list, "Selection sort ", Sort.SelectionSort);
    }