LinearFunction

data class LinearFunction(val slope: Double, val intercept: Double = 0.0, val domain: Range<Double> = Range.all()) : UnivariateFunction

Linear function of the form f(x) = slope * x + intercept.

Parameters

slope

slope of linear function

intercept

intercept at f(0)

domain

defined domain for the function

Constructors

Link copied to clipboard
constructor(slope: Double, intercept: Double = 0.0, domain: Range<Double> = Range.all())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val domain: Range<Double>
Link copied to clipboard
val endValue: Either<Exception, Double>

endValue = f(upper endpoint of domain).

Link copied to clipboard
val intercept: Double = 0.0
Link copied to clipboard
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
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.