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

Class describing an interval. More...

#include <NumberInterval.h>

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

Public Member Functions

 NumberInterval ()
 Default Constructor: Create a range which only contains 0.
 
 NumberInterval (Number val)
 Create a range which only contains given value.
 
 NumberInterval (Number min, Number max)
 Create a range with given bounds.
 
std::unique_ptr< NumberSet< Number > > clone () const override
 Create a copy of a NumberSet.
 
void resetValues (const std::set< Number > &numbers) override
 Setter for NumberInterval.
 
std::string to_string () const override
 Get a string representation of the set.
 
bool isEmpty () const override
 Indicates if the set is empty.
 
bool isFinite () const override
 Indicates if the set is finite.
 
bool isInterval () const override
 Function to distinguish between NumberSetFinite and NumberInterval.
 
size_t size () const override
 Get size of set.
 
Number getMin () const override
 Get the smallest number in the set.
 
Number getMax () const override
 Get the largest number in the set.
 
std::set< Number > getAll () const override
 Get all numbers in the set.
 
Number getRandom (Random &rng) const override
 Get a random number in the set.
 
std::vector< Number > uniformSample (size_t n, Random &rng) const override
 Sample n points from the set.
 
std::set< Number > uniformSampleSet (size_t n, Random &rng) const override
 Sample up to n points from the set.
 
Number getMedian () const override
 Get the median of the set.
 
bool operator== (const NumberSet< Number > &rhs) const override
 Comparison operator.
 
bool overlaps (const NumberInterval< Number > &other) const
 Check if this and another interval overlap.
 
bool includes (const NumberInterval< Number > &other) const
 Check if the other interval is fully included in this interval.
 
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.
 

Detailed Description

template<class Number>
class autopas::NumberInterval< Number >

Class describing an interval.

Constructor & Destructor Documentation

◆ NumberInterval() [1/2]

template<class Number >
autopas::NumberInterval< Number >::NumberInterval ( Number  val)
inline

Create a range which only contains given value.

Parameters
val

◆ NumberInterval() [2/2]

template<class Number >
autopas::NumberInterval< Number >::NumberInterval ( Number  min,
Number  max 
)
inline

Create a range with given bounds.

Parameters
minLower bound of range.
maxUpper bound of range.

Member Function Documentation

◆ clone()

template<class Number >
std::unique_ptr< NumberSet< Number > > autopas::NumberInterval< Number >::clone ( ) const
inlineoverridevirtual

Create a copy of a NumberSet.

Returns

Implements autopas::NumberSet< Number >.

◆ getAll()

template<class Number >
std::set< Number > autopas::NumberInterval< Number >::getAll ( ) const
inlineoverridevirtual

Get all numbers in the set.

Only usable if set is finite.

Returns

Implements autopas::NumberSet< Number >.

◆ getMax()

template<class Number >
Number autopas::NumberInterval< Number >::getMax ( ) const
inlineoverridevirtual

Get the largest number in the set.

Returns

Implements autopas::NumberSet< Number >.

◆ getMedian()

template<class Number >
Number autopas::NumberInterval< Number >::getMedian ( ) const
inlineoverridevirtual

Get the median of the set.

Returns

Implements autopas::NumberSet< Number >.

◆ getMin()

template<class Number >
Number autopas::NumberInterval< Number >::getMin ( ) const
inlineoverridevirtual

Get the smallest number in the set.

Returns

Implements autopas::NumberSet< Number >.

◆ getRandom()

template<class Number >
Number autopas::NumberInterval< Number >::getRandom ( Random rng) const
inlineoverridevirtual

Get a random number in the set.

Parameters
rngrandom number generator
Returns

Implements autopas::NumberSet< Number >.

◆ includes()

template<class Number >
bool autopas::NumberInterval< Number >::includes ( const NumberInterval< Number > &  other) const
inline

Check if the other interval is fully included in this interval.

Parameters
other
Returns

◆ isEmpty()

template<class Number >
bool autopas::NumberInterval< Number >::isEmpty ( ) const
inlineoverridevirtual

Indicates if the set is empty.

Returns
True if set is empty

Implements autopas::NumberSet< Number >.

◆ isFinite()

template<class Number >
bool autopas::NumberInterval< Number >::isFinite ( ) const
inlineoverridevirtual

Indicates if the set is finite.

This includes intervals that contain exactly one value.

Returns
True if set is finite

Implements autopas::NumberSet< Number >.

◆ isInterval()

template<class Number >
bool autopas::NumberInterval< Number >::isInterval ( ) const
inlineoverridevirtual

Function to distinguish between NumberSetFinite and NumberInterval.

Returns
True for NumberInterval, false for NumberSetFinite.

Implements autopas::NumberSet< Number >.

◆ operator==()

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

Comparison operator.

Parameters
rhs
Returns

Implements autopas::NumberSet< Number >.

◆ overlaps()

template<class Number >
bool autopas::NumberInterval< Number >::overlaps ( const NumberInterval< Number > &  other) const
inline

Check if this and another interval overlap.

Parameters
other
Returns

◆ resetValues()

template<class Number >
void autopas::NumberInterval< Number >::resetValues ( const std::set< Number > &  numbers)
inlineoverridevirtual

Setter for NumberInterval.

Parameters
numbersOne or two values, like the available constructors for NumberInterval. If two are provided the smaller one is assumed to be the min value.

Implements autopas::NumberSet< Number >.

◆ size()

template<class Number >
size_t autopas::NumberInterval< Number >::size ( ) const
inlineoverridevirtual

Get size of set.

Only usable if set is finite.

Returns
size of set

Implements autopas::NumberSet< Number >.

◆ to_string()

template<class Number >
std::string autopas::NumberInterval< Number >::to_string ( ) const
inlineoverridevirtual

Get a string representation of the set.

Returns
string representation

Implements autopas::NumberSet< Number >.

◆ uniformSample()

template<class Number >
std::vector< Number > autopas::NumberInterval< Number >::uniformSample ( size_t  n,
Random rng 
) const
inlineoverridevirtual

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

Implements autopas::NumberSet< Number >.

◆ uniformSampleSet()

template<class Number >
std::set< Number > autopas::NumberInterval< Number >::uniformSampleSet ( size_t  n,
Random rng 
) const
inlineoverridevirtual

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

Implements autopas::NumberSet< Number >.


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