示例#1
0
        public ActionResult Index(CalculatorModel model)
        {
            MathUtils mathUtils = new MathUtils();

            string operation = model.Submit;

            switch (operation)
            {
            case "Add":
                model.Result = mathUtils.Add(model.FirstNumber, model.SecondNumber);
                break;

            case "Substract":
                model.Result = mathUtils.Substract(model.FirstNumber, model.SecondNumber);
                break;

            case "Multiply":
                model.Result = mathUtils.Multiply(model.FirstNumber, model.SecondNumber);
                break;

            case "Divide":
                model.Result = mathUtils.Divide(model.FirstNumber, model.SecondNumber);
                break;

            default:
                break;
            }

            return(View(model));
        }
示例#2
0
        private double[] Solve(JacobianConstraint[] jacobianConstraints)
        {
            LinearProblemProperties LCP = LinearSystemBuilder.BuildLCP(jacobianConstraints, 0.001);

            double[] partialSolution = new double[LCP.Count];
            double[] overallSolution = new double[LCP.Count];

            Solver.GetSolverParameters().SetSolverMaxIteration(2);

            for (int i = 0; i < 15; i++)
            {
                overallSolution = MathUtils.Add(overallSolution, partialSolution);
                partialSolution = Solver.Solve(LCP, jacobianConstraints, overallSolution);
            }

            //double[] overallSolution = Solver.Solve(LCP, LCP.StartImpulse);

            return(overallSolution);
        }