using System;
namespace Legalsoft.Truffer
{
public class F1dim : UniVarRealValueFun
{
//public T func;
//public delegateFuncArray func { get; set; }
private double[] p { get; set; }
private double[] xi { get; set; }
private int n { get; set; }
private double[] xt { get; set; }
private RealValueFun func;
public F1dim(double[] pp, double[] xii, RealValueFun funcc)
{
this.p = pp;
this.xi = xii;
this.n = pp.Length;
this.func = funcc;
this.xt = new double[n];
}
public double funk(double x)
{
return get(x);
}
public double get(double x)
{
for (int j = 0; j < n; j++)
{
xt[j] = p[j] + x * xi[j];
}
return func.funk(xt);
}
}
}