AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
autopas::NumberSet< Number > Class Template Referenceabstract

Virtual class describing a finite or infinite set of numbers. More...

#include <NumberSet.h>

Inheritance diagram for autopas::NumberSet< Number >:
Inheritance graph
[legend]

Public Member Functions

virtual std::unique_ptr< NumberSetclone () 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.
 

Detailed Description

template<class Number>
class autopas::NumberSet< Number >

Virtual class describing a finite or infinite set of numbers.

Member Function Documentation

◆ clone()

template<class Number >
virtual std::unique_ptr< NumberSet > autopas::NumberSet< Number >::clone ( ) const
pure virtual

Create a copy of a NumberSet.

Returns

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ getAll()

template<class Number >
virtual std::set< Number > autopas::NumberSet< Number >::getAll ( ) const
pure virtual

Get all numbers in the set.

Only usable if set is finite.

Returns

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ getMax()

template<class Number >
virtual Number autopas::NumberSet< Number >::getMax ( ) const
pure virtual

Get the largest number in the set.

Returns

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ getMedian()

template<class Number >
virtual Number autopas::NumberSet< Number >::getMedian ( ) const
pure virtual

Get the median of the set.

Returns

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ getMin()

template<class Number >
virtual Number autopas::NumberSet< Number >::getMin ( ) const
pure virtual

Get the smallest number in the set.

Returns

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ getRandom()

template<class Number >
virtual Number autopas::NumberSet< Number >::getRandom ( Random rng) const
pure virtual

Get a random number in the set.

Parameters
rngrandom number generator
Returns

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ isEmpty()

template<class Number >
virtual bool autopas::NumberSet< Number >::isEmpty ( ) const
pure virtual

Indicates if the set is empty.

Returns
True if set is empty

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ isFinite()

template<class Number >
virtual bool autopas::NumberSet< Number >::isFinite ( ) const
pure virtual

Indicates if the set is finite.

This includes intervals that contain exactly one value.

Returns
True if set is finite

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ isInterval()

template<class Number >
virtual bool autopas::NumberSet< Number >::isInterval ( ) const
pure virtual

Function to distinguish between NumberSetFinite and NumberInterval.

Returns
True for NumberInterval, false for NumberSetFinite.

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ operator==()

template<class Number >
virtual bool autopas::NumberSet< Number >::operator== ( const NumberSet< Number > &  rhs) const
pure virtual

Comparison operator.

Parameters
rhs
Returns

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ resetValues()

template<class Number >
virtual void autopas::NumberSet< Number >::resetValues ( const std::set< Number > &  numbers)
pure virtual

A unified setter for all derived classes.

Parameters
numbers

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ size()

template<class Number >
virtual size_t autopas::NumberSet< Number >::size ( ) const
pure virtual

Get size of set.

Only usable if set is finite.

Returns
size of set

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ to_string()

template<class Number >
virtual std::string autopas::NumberSet< Number >::to_string ( ) const
pure virtual

Get a string representation of the set.

Returns
string representation

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ uniformSample()

template<class Number >
virtual std::vector< Number > autopas::NumberSet< Number >::uniformSample ( size_t  n,
Random rng 
) const
pure virtual

Sample n points from the set.

These points are spaced evenly across the space.

Parameters
nmax samples
rngrandom number generator
Returns
samples randomly ordered vector of points

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

◆ uniformSampleSet()

template<class Number >
virtual std::set< Number > autopas::NumberSet< Number >::uniformSampleSet ( size_t  n,
Random rng 
) const
pure virtual

Sample up to n points from the set.

These points are spaced evenly across the space.

Parameters
nmax samples
rngrandom number generator
Returns
samples ordered set of points

Implemented in autopas::NumberInterval< Number >, and autopas::NumberSetFinite< Number >.

Friends And Related Symbol Documentation

◆ operator<<

template<class Number >
std::ostream & operator<< ( std::ostream &  os,
const NumberSet< Number > &  numberSet 
)
friend

Stream operator.

Parameters
os
numberSet
Returns

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