예제 #1
0
        public override CompileResult Execute(IEnumerable <FunctionArgument> arguments, ParsingContext context)
        {
            ValidateArguments(arguments, 1);
            var values = _argConverter.ConvertArgsIncludingOtherTypes(arguments, IgnoreHiddenValues).Select(x => (double)x);

            return(CreateResult(StandardDeviation(values), DataType.Decimal));
        }
예제 #2
0
        public override CompileResult Execute(IEnumerable <FunctionArgument> arguments, ParsingContext context)
        {
            ValidateArguments(arguments, 1);
            var values = _argConverter.ConvertArgsIncludingOtherTypes(arguments);

            return(CreateResult(values.Max(), DataType.Decimal));
        }
예제 #3
0
        public override CompileResult Execute(IEnumerable <FunctionArgument> arguments, ParsingContext context)
        {
            if (!arguments.Any() || arguments.Count() < 2)
            {
                return(CreateResult(eErrorType.Div0));
            }
            var values = _argConverter.ConvertArgsIncludingOtherTypes(arguments, false);
            var result = VarMethods.VarP(values);

            return(CreateResult(result, DataType.Decimal));
        }
예제 #4
0
파일: Xor.cs 프로젝트: mmsgau/EPPlus-1
        public override CompileResult Execute(IEnumerable <FunctionArgument> arguments, ParsingContext context)
        {
            ValidateArguments(arguments, 1);
            var results = new List <bool>();
            var values  = _converter.ConvertArgsIncludingOtherTypes(arguments, false);
            var nTrue   = 0;

            foreach (var val in values)
            {
                if (val != 0d)
                {
                    nTrue++;
                }
            }
            var result = (System.Math.Abs(nTrue) & 1) != 0;

            return(CreateResult(result, DataType.Boolean));
        }