public Gqf(Func <double, double> mainFunction, Iqf iqfHelper) { var d = 1.0 / 3; var a = 1.5; _defaultIntegralsFunction = new Func <double, double> [6]; _defaultIntegralsFunction[0] = x => Math.Pow(x - a, 1 - d) / (1 - d); _defaultIntegralsFunction[1] = x => Math.Pow(x - a, 1 - d) / (d - 2) * (a - d * x + x) / (d - 1); _defaultIntegralsFunction[2] = x => - Math.Pow(x - a, 1 - d) * (2 * a * a - 3 * (d - 1) * x + (d * d - 3 * d + 2) * x * x) / (d - 3) / (d - 2) / (d - 1); _defaultIntegralsFunction[3] = x => Math.Pow(x - a, 1 - d) * (6 * Math.Pow(a, 3) - 6 * Math.Pow(a, 2) * (d - 1) * x + 3 * a * (d * d - 3 * d + 2) * Math.Pow(x, 2) - (d * d * d - 6 * d * d + 11 * d - 6) * Math.Pow(x, 3)) / (d - 4) / (d - 3) / (d - 2) / (d - 1); _defaultIntegralsFunction[4] = x => - (Math.Pow(x - a, 1 - d) * (24 * Math.Pow(a, 4) - 24 * Math.Pow(a, 3) * (d - 1) * x + 12 * a * a * (d * d - 3 * d + 2) * x * x - 4 * a * (d * d * d - 6 * d * d + 11 * d - 6) * x * x * x + (d * d * d * d - 10 * d * d * d + 35 * d * d - 50 * d + 24) * Math.Pow(x, 4))) / (d - 5) / (d - 4) / (d - 3) / (d - 2) / (d - 1); _defaultIntegralsFunction[5] = x => Math.Pow(x - a, 1 - d) * (120 * Math.Pow(a, 5) - 120 * Math.Pow(a, 4) * (d - 1) * x + 60 * Math.Pow(a, 3) * (d * d - 3 * d + 2) * x * x - 20 * a * a * (d * d * d - 6 * d * d + 11 * d - 6) * x * x * x + 5 * a * (Math.Pow(d, 4) - 10 * d * d * d + 35 * d * d - 50 * d + 24) * Math.Pow(x, 4) - (Math.Pow(d, 5) - 15 * Math.Pow(d, 4) + 85 * d * d * d - 225 * d * d + 274 * d - 120) * Math.Pow(x, 5)) / (d - 6) / (d - 5) / (d - 4) / (d - 3) / (d - 2) / (d - 1); _mainFunction = mainFunction; _iqfHelper = iqfHelper; }
public Cqf(Func <double, double> mainFunction) { _iqfHelper = new Iqf(mainFunction); _gqfHelper = new Gqf(mainFunction, _iqfHelper); }