Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
DataGenerator Class Reference

Public Member Functions

 DataGenerator (unsigned seed)
 
void random (DynArray< int > &arr, size_t n)
 Uniformly distributed random integers.
 
void sorted_asc (DynArray< int > &arr, size_t n)
 Already sorted in ascending order.
 
void sorted_desc (DynArray< int > &arr, size_t n)
 Sorted in descending order.
 
void nearly_sorted (DynArray< int > &arr, size_t n)
 Nearly sorted: 5% of elements are swapped.
 
void few_unique (DynArray< int > &arr, size_t n)
 Few unique values (high repetition)
 
void sawtooth (DynArray< int > &arr, size_t n)
 Sawtooth pattern: multiple ascending runs.
 

Private Attributes

mt19937 rng
 

Detailed Description

Definition at line 236 of file sort_benchmark.C.

Constructor & Destructor Documentation

◆ DataGenerator()

DataGenerator::DataGenerator ( unsigned  seed)
inlineexplicit

Definition at line 241 of file sort_benchmark.C.

Member Function Documentation

◆ few_unique()

void DataGenerator::few_unique ( DynArray< int > &  arr,
size_t  n 
)
inline

Few unique values (high repetition)

Definition at line 283 of file sort_benchmark.C.

References Aleph::DynArray< T >::append(), Aleph::DynArray< T >::empty(), Aleph::maps(), and rng.

Referenced by run_benchmarks().

◆ nearly_sorted()

void DataGenerator::nearly_sorted ( DynArray< int > &  arr,
size_t  n 
)
inline

Nearly sorted: 5% of elements are swapped.

Definition at line 269 of file sort_benchmark.C.

References Aleph::maps(), rng, sorted_asc(), and Aleph::swap().

Referenced by run_benchmarks().

◆ random()

void DataGenerator::random ( DynArray< int > &  arr,
size_t  n 
)
inline

Uniformly distributed random integers.

Definition at line 244 of file sort_benchmark.C.

References Aleph::DynArray< T >::append(), Aleph::DynArray< T >::empty(), Aleph::maps(), and rng.

Referenced by run_benchmarks().

◆ sawtooth()

void DataGenerator::sawtooth ( DynArray< int > &  arr,
size_t  n 
)
inline

Sawtooth pattern: multiple ascending runs.

Definition at line 292 of file sort_benchmark.C.

References Aleph::DynArray< T >::append(), Aleph::DynArray< T >::empty(), Aleph::maps(), and max().

Referenced by run_benchmarks().

◆ sorted_asc()

void DataGenerator::sorted_asc ( DynArray< int > &  arr,
size_t  n 
)
inline

Already sorted in ascending order.

Definition at line 253 of file sort_benchmark.C.

References Aleph::DynArray< T >::append(), and Aleph::DynArray< T >::empty().

Referenced by nearly_sorted(), and run_benchmarks().

◆ sorted_desc()

void DataGenerator::sorted_desc ( DynArray< int > &  arr,
size_t  n 
)
inline

Sorted in descending order.

Definition at line 261 of file sort_benchmark.C.

References Aleph::DynArray< T >::append(), and Aleph::DynArray< T >::empty().

Referenced by run_benchmarks().

Member Data Documentation

◆ rng

mt19937 DataGenerator::rng
private

Definition at line 238 of file sort_benchmark.C.

Referenced by few_unique(), nearly_sorted(), and random().


The documentation for this class was generated from the following file: