expect_time_complexity.Rd
Function to test if input algorithm has the specified time complexity
expect_time_complexity(complexity.class, ..., f)
complexity.class | A string denoting the expected complexity class |
---|---|
... | Parameters for passed function 'f'. |
f | A function which returns a data frame composed of timings and corresponding data sizes, ideally from asymptoticTimings. (can use other functions) |
null for expected complexity, else throws error.
For more information regarding its implementation or functionality/usage, please check https://anirban166.github.io//Testing-functions/
if (FALSE) { # Running the quick sort algorithm with sampling against a set of increasing input data sizes: ds = 10^seq(1, 3, by = 0.5) # Assigning a complexity class to test against: cc = "loglinear" # Note: short variable names are used to avoid exceeding the character limit in the line below. expect_time_complexity(cc, sort(sample(1:100, data.sizes, replace = TRUE), method = "quick"), ds) # The code above will throw an error if the function does not follow a log-linear trend. }