|
INET Framework for OMNeT++/OMNEST
|
Useful base class for most IFunction implementations with some default behavior. More...
#include <FunctionBase.h>
Public Member Functions | |
| virtual void | partition (const typename D::I &i, const std::function< void(const typename D::I &, const IFunction< R, D > *)> callback) const override |
| Subdivides the provided domain and calls back f with the subdomains and the corresponding potentially simpler domain limited functions. More... | |
| virtual Interval< R > | getRange () const override |
| Returns the valid range of the function as an interval. More... | |
| virtual Interval< R > | getRange (const typename D::I &i) const override |
| Returns the valid range of the function as an interval for the given domain. More... | |
| virtual D::I | getDomain () const override |
| Returns the valid domain of the function as an interval. More... | |
| virtual bool | isFinite () const override |
| Returns true if the function value is finite in the whole domain. More... | |
| virtual bool | isFinite (const typename D::I &i) const override |
| Returns true if the function value is finite in the given domain. More... | |
| virtual bool | isNonZero () const override |
| Returns true if the function value is non-zero in the whole domain. More... | |
| virtual bool | isNonZero (const typename D::I &i) const override |
| Returns true if the function value is non-zero in the given domain. More... | |
| virtual R | getMin () const override |
| Returns the minimum value for the whole domain. More... | |
| virtual R | getMin (const typename D::I &i) const override |
| Returns the minimum value for the given domain. More... | |
| virtual R | getMax () const override |
| Returns the maximum value for the whole domain. More... | |
| virtual R | getMax (const typename D::I &i) const override |
| Returns the maximum value for the given domain. More... | |
| virtual R | getMean () const override |
| Returns the mean value for the whole domain. More... | |
| virtual R | getMean (const typename D::I &i) const override |
| Returns the mean value for the given domain. More... | |
| virtual R | getIntegral () const override |
| Returns the integral value for the whole domain. More... | |
| virtual R | getIntegral (const typename D::I &i) const override |
| Returns the integral value for the given domain. More... | |
| virtual const Ptr< const IFunction< R, D > > | add (const Ptr< const IFunction< R, D >> &o) const override |
| Adds the provided function to this function. More... | |
| virtual const Ptr< const IFunction< R, D > > | subtract (const Ptr< const IFunction< R, D >> &o) const override |
| Substracts the provided function from this function. More... | |
| virtual const Ptr< const IFunction< R, D > > | multiply (const Ptr< const IFunction< double, D >> &o) const override |
| Multiplies the provided function with this function. More... | |
| virtual const Ptr< const IFunction< double, D > > | divide (const Ptr< const IFunction< R, D >> &o) const override |
| Divides this function with the provided function. More... | |
| virtual std::ostream & | printOn (std::ostream &os) const override |
| virtual void | print (std::ostream &os, int level=0) const override |
| Prints this function in human readable form to the provided stream for the whole domain. More... | |
| virtual void | print (std::ostream &os, const typename D::I &i, int level=0) const override |
| Prints this function in a human readable form to the provided stream for the given domain. More... | |
| virtual void | printPartitioning (std::ostream &os, const typename D::I &i, int level) const override |
| Prints the partitioning of this function in a human readable form to the provided stream for the given domain. More... | |
| virtual void | printPartition (std::ostream &os, const typename D::I &i, int level=0) const override |
| Prints a single partition of this function in a human readable form to the provided stream for the given domain. More... | |
| virtual void | printStructure (std::ostream &os, int level=0) const override |
| Prints the internal data structure of this function in a human readable form to the provided stream. More... | |
Public Member Functions inherited from inet::math::IFunction< R, D > | |
| virtual | ~IFunction () |
| virtual R | getValue (const typename D::P &p) const =0 |
| Returns the value of the function at the given point. More... | |
Useful base class for most IFunction implementations with some default behavior.
|
inlineoverridevirtual |
Adds the provided function to this function.
Implements inet::math::IFunction< R, D >.
|
inlineoverridevirtual |
Divides this function with the provided function.
Implements inet::math::IFunction< R, D >.
|
inlineoverridevirtual |
Returns the valid domain of the function as an interval.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::SummedFunction< R, D >, inet::math::MultipliedFunction< R, D >, inet::math::SubtractedFunction< R, D >, inet::math::DomainShiftedFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, and inet::math::AddedFunction< R, D >.
|
inlineoverridevirtual |
Returns the integral value for the whole domain.
Implements inet::math::IFunction< R, D >.
Referenced by inet::math::FunctionBase< R, Domain< X > >::getIntegral().
|
inlineoverridevirtual |
Returns the integral value for the given domain.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::UnireciprocalFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Returns the maximum value for the whole domain.
Implements inet::math::IFunction< R, D >.
Referenced by inet::math::FunctionBase< R, Domain< X > >::getMax().
|
inlineoverridevirtual |
Returns the maximum value for the given domain.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::UnireciprocalFunction< R, D >, inet::math::BilinearFunction< R, D >, inet::math::UnilinearFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Returns the mean value for the whole domain.
Implements inet::math::IFunction< R, D >.
Referenced by inet::math::FunctionBase< R, Domain< X > >::getMean().
|
inlineoverridevirtual |
Returns the mean value for the given domain.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::UnireciprocalFunction< R, D >, inet::math::BilinearFunction< R, D >, inet::math::UnilinearFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Returns the minimum value for the whole domain.
Implements inet::math::IFunction< R, D >.
Referenced by inet::math::FunctionBase< R, Domain< X > >::getMin().
|
inlineoverridevirtual |
Returns the minimum value for the given domain.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::UnireciprocalFunction< R, D >, inet::math::BilinearFunction< R, D >, inet::math::UnilinearFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Returns the valid range of the function as an interval.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::BilinearFunction< R, D >, inet::math::UnilinearFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Returns the valid range of the function as an interval for the given domain.
Implements inet::math::IFunction< R, D >.
|
inlineoverridevirtual |
Returns true if the function value is finite in the whole domain.
Implements inet::math::IFunction< R, D >.
Referenced by inet::math::FunctionBase< R, Domain< X > >::isFinite().
|
inlineoverridevirtual |
Returns true if the function value is finite in the given domain.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::ApproximatedFunction< R, D, DIMENSION, X >, inet::math::SummedFunction< R, D >, inet::math::DividedFunction< R, D >, inet::math::MultipliedFunction< R, D >, inet::math::BilinearFunction< R, D >, inet::math::SubtractedFunction< R, D >, inet::math::AddedFunction< R, D >, inet::math::UnilinearFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Returns true if the function value is non-zero in the whole domain.
Implements inet::math::IFunction< R, D >.
Referenced by inet::math::FunctionBase< R, Domain< X > >::isNonZero().
|
inlineoverridevirtual |
Returns true if the function value is non-zero in the given domain.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::BilinearFunction< R, D >, inet::math::UnilinearFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Multiplies the provided function with this function.
Implements inet::math::IFunction< R, D >.
|
inlineoverridevirtual |
Subdivides the provided domain and calls back f with the subdomains and the corresponding potentially simpler domain limited functions.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::LeftCurryingFunction< R, C, DIMSC, D, DIMSD, E >, inet::math::SummedFunction< R, D >, inet::math::UnireciprocalFunction< R, D >, inet::math::MultipliedFunction< R, D >, inet::math::BilinearFunction< R, D >, inet::math::SubtractedFunction< R, D >, inet::math::DomainShiftedFunction< R, D >, inet::math::UnilinearFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, inet::math::AddedFunction< R, D >, inet::math::ConstantFunction< R, D >, and inet::math::DividedFunction< R, D >.
Referenced by inet::physicallayer::SpaceAndFrequencyDependentAttenuationFunction::partition(), inet::physicallayer::SpaceDependentAttenuationFunction::partition(), inet::physicallayer::BackgroundNoisePowerFunction::partition(), and inet::physicallayer::PropagatedTransmissionPowerFunction::partition().
|
inlineoverridevirtual |
Prints this function in a human readable form to the provided stream for the given domain.
Implements inet::math::IFunction< R, D >.
|
inlineoverridevirtual |
Prints this function in human readable form to the provided stream for the whole domain.
Implements inet::math::IFunction< R, D >.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Prints a single partition of this function in a human readable form to the provided stream for the given domain.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::UnireciprocalFunction< R, D >, inet::math::BilinearFunction< R, D >, inet::math::UnilinearFunction< R, D >, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Prints the partitioning of this function in a human readable form to the provided stream for the given domain.
Implements inet::math::IFunction< R, D >.
|
inlineoverridevirtual |
Prints the internal data structure of this function in a human readable form to the provided stream.
Implements inet::math::IFunction< R, D >.
Reimplemented in inet::math::IntegratedFunction< R, D, DIMS, RI, DI >, inet::math::Interpolated1DFunction< R, X >, inet::math::Extruded2DFunction< R, X, Y >, inet::math::ApproximatedFunction< R, D, DIMENSION, X >, inet::math::Boxcar2DFunction< R, X, Y >, inet::math::SummedFunction< R, D >, inet::physicallayer::ObstacleLossFunction, inet::math::Boxcar1DFunction< R, X >, inet::physicallayer::PathLossFunction, inet::physicallayer::PropagatedTransmissionPowerFunction, inet::math::DividedFunction< R, D >, inet::physicallayer::BackgroundNoisePowerFunction, inet::math::Combined2DFunction< R, X, Y >, inet::math::MultipliedFunction< R, D >, inet::physicallayer::SpaceDependentAttenuationFunction, inet::math::SubtractedFunction< R, D >, inet::physicallayer::SpaceAndFrequencyDependentAttenuationFunction, inet::math::UnilinearFunction< R, D >, inet::math::DomainShiftedFunction< R, D >, inet::math::AddedFunction< R, D >, inet::math::DomainLimitedFunction< R, D >, inet::physicallayer::FrequencyDependentAttenuationFunction, and inet::math::ConstantFunction< R, D >.
|
inlineoverridevirtual |
Substracts the provided function from this function.
Implements inet::math::IFunction< R, D >.