expect_time_complexity: Expected Time Complexity Test function

View source: R/expect_time_complexity.R

expect_time_complexityR Documentation

Expected Time Complexity Test function

Description

Function to test if input algorithm has the specified time complexity

Usage

expect_time_complexity(complexity.class, ..., f)

Arguments

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)

Details

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

Value

null for expected complexity, else throws error.

Examples

## Not run: 
# 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.

## End(Not run)

Anirban166/testComplexity documentation built on April 21, 2023, 6:15 p.m.