コード例 #1
0
        internal static object ComponentMathNumeric(SkryptEngine engine, VectorInstance left, Func <double, double> func)
        {
            var dimension = left.Components.Length;

            var args = new double[dimension];

            for (var i = 0; i < dimension; i++)
            {
                var newVal = func(left.Components[i]);

                args[i] = newVal;
            }

            return(engine.Vector.Construct(args));
        }
コード例 #2
0
        internal static object ComponentMath(SkryptEngine engine, VectorInstance left, VectorInstance right, Func <double, double, double> func)
        {
            var dimension = left.Components.Length;

            if (dimension == right.Components.Length)
            {
                var args = new double[dimension];

                for (var i = 0; i < dimension; i++)
                {
                    var newVal = func(left.Components[i], right.Components[i]);

                    args[i] = newVal;
                }

                return(engine.Vector.Construct(args));
            }

            return(new InvalidOperation());
        }