[IoId("00000000-3511-4D69-9021-DF971368CD2C")] public sealed class AdditionFunction : FunctionFG<Function, Function>
Addition of two functions.

Constructors

AdditionFunction

#
public AdditionFunction()

AdditionFunction

#
public AdditionFunction(Function f, Function g)
f (Function)
g (Function)

AdditionFunction

#
public AdditionFunction(IReader reader)
reader (IReader)

Properties

Derivative

public sealed override Function Derivative { get; }
Gets a function which is the derivative of this function. The returned function may be either analytic or approximate.
inherited fromFunctionWithCaching

F

public T1 F { get; }
First operand.
inherited fromFunctionF<T1>

G

public T2 G { get; }
Second operand.
inherited fromFunctionFG<T1, T2>

Integral

public sealed override Function Integral { get; }
Gets a function which is the indefinite integral of this function. The returned function may be analytic or approximate. Note that numeric approximation of indefinite integrals is a slow and not particularly high quality process.
inherited fromFunctionWithCaching

Nomen

public sealed override Nomen Nomen { get; }
Gets a description of this function.
inherited fromFunctionWithCaching
Function.Nomen

Notation

#
public override string Notation { get; }

Ui

#
public override FunctionUi Ui { get; }
Function.Ui

Methods

Asymptotes

public virtual Line[] Asymptotes()
Returns an array of *all* the non-vertical asymptotes for this function. This property may return both null and empty arrays, implying no asymptotes. Due to the nature of non-vertical asymptotes, there can only be a finite amount of them.
inherited fromFunction

AutoCoDomain

protected void AutoCoDomain(double x0, double x1, out double y0, out double y1, int samples = 100)
Compute the automatic codomain for a given domain.
inherited fromFunction
x0 (double)Domain start.
x1 (double)Domain end.
y0 (out double)Lowest value in codomain.
y1 (out double)Highest value in codomain.
samples (int = 100)Samples.

DomainEstimate

public override void DomainEstimate(out double x0, out double x1, out double y0, out double y1)
inherited fromFunctionFG<T1, T2>
x0 (out double)
x1 (out double)
y0 (out double)
y1 (out double)

EmitDerivative

#
protected override Function EmitDerivative()

EmitIntegral

#
protected override Function EmitIntegral()

Holes

public override Interval[] Holes(double x0, double x1)
A binary operation is undefined wherever either operand is, and blows up wherever either operand does. Overridden because the unary base relays F alone, which would drop G's features silently.
inherited fromFunctionFG<T1, T2>
x0 (double)
x1 (double)

Integrate

#
public override double Integrate(double x0, double x1)
x0 (double)
x1 (double)

Poles

public override Pole[] Poles(double x0, double x1)
A binary operation is undefined wherever either operand is, and blows up wherever either operand does. Overridden because the unary base relays F alone, which would drop G's features silently.
inherited fromFunctionFG<T1, T2>
x0 (double)
x1 (double)

Store

public override void Store(IWriter writer)
inherited fromFunctionFG<T1, T2>
writer (IWriter)

Y

#
public override double Y(double x)
x (double)
Function.Y

YYYY

public double[] YYYY(double[] x)
Evaluate a large amount of values. Functions may choose to use multiple threads to perform this calculation. This method should not throw, instead every failed evaluation will be represented by a NaN value.
inherited fromFunction
x (double[])Value to evaluate.
Evaluation results. Array will contain double.NaN entries for failed evaluations.