StackedFunction

class StackedFunction(memberFunctions: List<UnivariateFunction>, operation: (operands: List<Double>) -> Double, defaultValue: Double = Double.NaN) : UnivariateFunction

Stacks multiple functions and outputs the value according to the defined operation.

Parameters

memberFunctions

functions to be stacked together

operation

operation which combines the values of each member function

defaultValue

the default value, if one of the member functions is not defined at the requested parameter

Constructors

Link copied to clipboard
constructor(memberFunction: UnivariateFunction, operation: (operands: List<Double>) -> Double, defaultValue: Double = Double.NaN)
constructor(memberFunctions: List<UnivariateFunction>, operation: (operands: List<Double>) -> Double, defaultValue: Double = Double.NaN)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val domain: Range<Double>

definable domain

Link copied to clipboard
val endValue: Either<Exception, Double>

endValue = f(upper endpoint of domain).

Link copied to clipboard

startValue = f(lowest endpoint of domain).

Functions

Link copied to clipboard
operator fun div(m: Double): StackedFunction
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
Link copied to clipboard
fun slope(x: Double): Either<Exception, Double>

Evaluation of the slope = f'(x) with strict checking whether x is within the function's domain.

Link copied to clipboard
fun slopeInFuzzy(x: Double, tolerance: Double): Either<Exception, Double>

Evaluation of the slope = f(x) with fuzzy checking whether x is within the function's domain.

Link copied to clipboard
operator fun times(m: Double): StackedFunction
Link copied to clipboard
operator fun unaryMinus(): StackedFunction
Link copied to clipboard
fun value(x: Double): Either<Exception, Double>

Evaluation of z = f(x) with strict checking whether x is within the function's domain.

Link copied to clipboard
open fun valueInFuzzy(x: Double, tolerance: Double): Either<Exception, Double>

Evaluation of z = f(x) with fuzzy checking whether x is within the function's domain.