Function to test if input algorithm has linear time complexity

expect_linear_time(...)

Arguments

...

Parameters for the expression to be tested, which is a function of data.sizes, as in asymptoticTimings

Value

null for expected complexity (linear), else throws error.

Details

For more information regarding its implementation or functionality/usage, please check https://anirban166.github.io//Testing-functions/

Examples

if (FALSE) { # Running the quick sort algorithm with sampling against a set of increasing input data sizes: sizes = 10^seq(1, 3, by = 0.5) expect_linear_time(sort(sample(1:100, data.sizes, replace = TRUE), method = "quick"), sizes) # The code above will throw an error if the function does not follow a linear trend. }