Esempio n. 1
0
        //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);
        }
Esempio n. 2
0
        //Вычислить значение
        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)));
        }
Esempio n. 3
0
        //Вычислить значение
        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)));
        }
Esempio n. 4
0
 private IReadMean Aperture_ir(FunData data, DataType dataType, params IReadMean[] par)
 {
     return(Aperture_rr(data, dataType, par));
 }
Esempio n. 5
0
 //Вычислить значение
 public IVal Calculate(DataType resultType, IEnumerable <IVal> par, FunData funData)
 {
     return(Fun());
 }
Esempio n. 6
0
 //Вычислить значение
 public IVal Calculate(DataType resultType, IEnumerable <IVal> par, FunData funData)
 {
     return(_fun(funData, resultType, par.Cast <IReadMean>().ToArray()));
 }