コード例 #1
0
ファイル: GraphView.xaml.cs プロジェクト: enjoy233/Quadrant
        int IProtocol.AddFunction(string function, out IReadOnlyList <string> errors)
        {
            errors = null;

            FunctionData newFunction = FunctionManager.CreateFunction();

            newFunction.Expression = function;
            if (FunctionManager.Compile())
            {
                UpdateFunctions();
                return(newFunction.Id);
            }

            errors = FunctionManager.Errors.Select(e => e.Text).ToList();
            return(-1);
        }
コード例 #2
0
ファイル: GraphView.xaml.cs プロジェクト: enjoy233/Quadrant
        /// <summary>
        /// Test code that will be removed before shipping.
        /// </summary>
        private void PerfTest()
        {
            using (var supression = AppTelemetry.Current.Supress())
            {
                FunctionManager.Functions.Clear();

                int            lowerBound = -10 * _perfTestMultiple;
                int            upperBound = 10 * _perfTestMultiple;
                FunctionData[] functions  = new FunctionData[upperBound - lowerBound];

                for (int i = lowerBound; i < upperBound; i++)
                {
                    FunctionData test = FunctionManager.CreateFunction();
                    test.Expression           = $"sin(x + {i}) + {i}/2";
                    functions[i - lowerBound] = test;
                }

                FunctionManager.Compile();
                Graph.Functions = functions;
                _perfTestMultiple++;
            }
        }