/// <summary>
 /// The Prepare.
 /// </summary>
 /// <param name="f">The f<see cref="Formula"/>.</param>
 /// <param name="m">The m<see cref="LeftFormula"/>.</param>
 /// <param name="partial">The partial<see cref="bool"/>.</param>
 /// <returns>The <see cref="CombinedFormula"/>.</returns>
 public CombinedFormula Prepare(Formula f, LeftFormula m, bool partial = false)
 {
     CombinedFormula              = new CombinedFormula(m, f, partial);
     CombinedFormula.LeftFormula  = m;
     CombinedFormula.RightFormula = f;
     return(CombinedFormula);
 }
 /// <summary>
 /// The Prepare.
 /// </summary>
 /// <param name="m">The m<see cref="LeftFormula"/>.</param>
 /// <param name="partial">The partial<see cref="bool"/>.</param>
 /// <returns>The <see cref="CombinedFormula"/>.</returns>
 public CombinedFormula Prepare(LeftFormula m, bool partial = false)
 {
     CombinedFormula              = new CombinedFormula(m, this, partial);
     CombinedFormula.LeftFormula  = m;
     CombinedFormula.RightFormula = this;
     return(CombinedFormula);
 }
        /// <summary>
        /// The CreateEvaluator.
        /// </summary>
        /// <param name="m">The m<see cref="CombinedFormula"/>.</param>
        /// <returns>The <see cref="Evaluator"/>.</returns>
        public Evaluator CreateEvaluator(CombinedFormula m)
        {
            CombinedMathset mathline = CombineMathset(m);
            Evaluator       ev       = new Evaluator(mathline.Compute);

            return(ev);
        }
 /// <summary>
 /// The CombineMathset.
 /// </summary>
 /// <param name="m">The m<see cref="CombinedFormula"/>.</param>
 /// <returns>The <see cref="CombinedMathset"/>.</returns>
 public CombinedMathset CombineMathset(CombinedFormula m)
 {
     return(Compiler.Compile(m));
 }