Virtual class describing a finite or infinite set of numbers. More...
#include <NumberSet.h>
Public Member Functions | |
virtual std::unique_ptr< NumberSet > | clone () const =0 |
Create a copy of a NumberSet. | |
virtual void | resetValues (const std::set< Number > &numbers)=0 |
A unified setter for all derived classes. | |
virtual std::string | to_string () const =0 |
Get a string representation of the set. | |
virtual bool | isEmpty () const =0 |
Indicates if the set is empty. | |
virtual bool | isFinite () const =0 |
Indicates if the set is finite. | |
virtual bool | isInterval () const =0 |
Function to distinguish between NumberSetFinite and NumberInterval. | |
virtual size_t | size () const =0 |
Get size of set. | |
virtual Number | getMin () const =0 |
Get the smallest number in the set. | |
virtual Number | getMax () const =0 |
Get the largest number in the set. | |
virtual std::set< Number > | getAll () const =0 |
Get all numbers in the set. | |
virtual Number | getRandom (Random &rng) const =0 |
Get a random number in the set. | |
virtual std::vector< Number > | uniformSample (size_t n, Random &rng) const =0 |
Sample n points from the set. | |
virtual std::set< Number > | uniformSampleSet (size_t n, Random &rng) const =0 |
Sample up to n points from the set. | |
virtual Number | getMedian () const =0 |
Get the median of the set. | |
virtual bool | operator== (const NumberSet< Number > &rhs) const =0 |
Comparison operator. | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const NumberSet &numberSet) |
Stream operator. | |
Virtual class describing a finite or infinite set of numbers.
|
pure virtual |
Create a copy of a NumberSet.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Get all numbers in the set.
Only usable if set is finite.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Get the largest number in the set.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Get the median of the set.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Get the smallest number in the set.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Get a random number in the set.
rng | random number generator |
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Indicates if the set is empty.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Indicates if the set is finite.
This includes intervals that contain exactly one value.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Function to distinguish between NumberSetFinite and NumberInterval.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Comparison operator.
rhs |
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
A unified setter for all derived classes.
numbers |
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Get size of set.
Only usable if set is finite.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Get a string representation of the set.
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Sample n points from the set.
These points are spaced evenly across the space.
n | max samples |
rng | random number generator |
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
pure virtual |
Sample up to n points from the set.
These points are spaced evenly across the space.
n | max samples |
rng | random number generator |
Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.
|
friend |
Stream operator.
os | |
numberSet |