SortingResult PerformRadixSort(float[] input) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); if (sort == null) { sort = new RadixSort(); sort.SetupBuffers(input.Length, radixSortShader); } sort.Sort(input); sort.GetData(input); stopWatch.Stop(); bool isSorted = RadixDemoUtilities.SortingCheck(input); return(new SortingResult() { sortingName = "Radix Sort", averageTimeTaken = stopWatch.ElapsedMilliseconds, isCorrectlySorted = isSorted, message = isSorted ? "" : "Wrongly sorted at: " + input.Length }); }