init
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
namespace Exocortex.DSP
|
||||
{
|
||||
public class SimplePolynomial : Polynomial
|
||||
{
|
||||
public SimplePolynomial(params double[] coefficients) : base(coefficients) { }
|
||||
|
||||
public override double Evaluate(double value)
|
||||
{
|
||||
var retval = coefficients[0];
|
||||
var f = value;
|
||||
|
||||
for (int i = 1; i < coefficients.Length; i++)
|
||||
{
|
||||
retval += coefficients[i] * f;
|
||||
f *= value;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
public abstract class Polynomial
|
||||
{
|
||||
public Polynomial(params double[] coefficients)
|
||||
{
|
||||
this.coefficients = new double[coefficients.Length];
|
||||
|
||||
for (int i = 0; i < coefficients.Length; i++)
|
||||
this.coefficients[i] = coefficients[i];
|
||||
}
|
||||
|
||||
public abstract double Evaluate(double value);
|
||||
|
||||
protected double[] coefficients = null;
|
||||
|
||||
public double GetCoefficient(int index)
|
||||
{
|
||||
if (null == coefficients || index < 0 || index >= coefficients.Length)
|
||||
{
|
||||
return double.NaN;
|
||||
}
|
||||
return coefficients[index];
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user