//5 - Мгновенные public IReadMean Aperture_rr(FunData data, DataType dataType, params IReadMean[] par) { var res = MFactory.NewList(dataType); var list = par[0]; var dif = par[1]; if (list.Count == 0) { return(res); } var prev = data.ParamsValues[0]; list.CurNum = 0; if (prev == null) { res.AddMom(list); } IReadMean m = prev ?? list.ToMean(); for (list.CurNum = 0; list.CurNum < list.Count; list.CurNum++) { if (Math.Abs(list.Real - m.Real) >= dif.Real) { res.AddMom(m = list.ToMean()); } } data.ParamsValues[0] = m; return(res); }
//Вычислить значение public IVal Calculate(DataType resultType, IEnumerable <IVal> par, FunData funData) { var fs = (CalcFunctions)Functions; return(fs.CalcScalar(resultType, par.Cast <IReadMean>().ToArray(), true, (moms, flags) => _fun(moms, flags))); }
//Вычислить значение public IVal Calculate(DataType resultType, IEnumerable <IVal> par, FunData funData) { var arr = par.ToArray(); var fs = (CalcFunctions)Functions; var args = new IReadMean[arr.Length - 1]; for (int i = 1; i < arr.Length; i++) { args[i] = (IReadMean)arr[i]; } return(fs.CalcScalar(resultType, args, false, (moms, flags) => _fun(arr[0], moms))); }
private IReadMean Aperture_ir(FunData data, DataType dataType, params IReadMean[] par) { return(Aperture_rr(data, dataType, par)); }
//Вычислить значение public IVal Calculate(DataType resultType, IEnumerable <IVal> par, FunData funData) { return(Fun()); }
//Вычислить значение public IVal Calculate(DataType resultType, IEnumerable <IVal> par, FunData funData) { return(_fun(funData, resultType, par.Cast <IReadMean>().ToArray())); }