Esempio n. 1
0
 /// <summary>
 /// Fonction de puissance pour une variable
 /// </summary>
 /// <param name="formule"></param>
 /// <param name="puissance"></param>
 /// <returns></returns>
 public static Formule Pow(Formule formule, double puissance)
 {
     if (!Evaluation)
     {
         return(new Formule(Math.Pow(formule.Resultat, puissance)));
     }
     if (puissance == 2)
     {
         return(Pow2(formule));
     }
     if (puissance == 3)
     {
         return(Pow3(formule));
     }
     if (puissance == 4)
     {
         return(Pow4(formule));
     }
     if (formule.Priorite == PrioVar)
     {
         return(new Formule(formule.Litterale + "^" + puissance, formule.Numerique + "^" + puissance,
                            Math.Pow(formule.Resultat, 2), PrioVar, formule.NombreOperations + 1));
     }
     return(new Formule(formule.LitteraleParenthese + "^" + puissance, formule.NumeriqueParenthese + "^" + puissance,
                        Math.Pow(formule.Resultat, 2), PrioVar, formule.NombreOperations + 1));
 }
Esempio n. 2
0
 /// <summary>
 /// Fonction Racine carre pour une formule
 /// </summary>
 /// <param name="f">formule concernée</param>
 /// <returns></returns>
 public static Formule Sqrt(Formule f)
 {
     if (!Evaluation)
     {
         return(new Formule(Math.Sqrt(f.Resultat)));
     }
     return(new Formule("sqrt" + f.LitteraleParenthese, "sqrt" + f.NumeriqueParenthese, Math.Sqrt(f.Resultat), PrioVar, f.NombreOperations + 1));
 }
Esempio n. 3
0
 /// <summary>
 /// Logarithme népérien pour une formule
 /// </summary>
 /// <param name="f">Formule concernée</param>
 /// <returns></returns>
 public static Formule Ln(Formule f)
 {
     if (f.Resultat <= 0)
     {
         throw new ArithmeticException("Logarithme népérien négatif");
     }
     return(new Formule("ln" + f.LitteraleParenthese, "ln" + f.NumeriqueParenthese, Math.Log(f.Resultat), PrioVar, f.NombreOperations + 1));
 }
Esempio n. 4
0
 /// <summary>
 /// Fonction cube
 /// </summary>
 /// <param name="formule"></param>
 /// <returns></returns>
 public static Formule Pow4(Formule formule)
 {
     if (!Evaluation)
     {
         return(new Formule(Math.Pow(formule.Resultat, 2)));
     }
     if (formule.Priorite == PrioVar)
     {
         return(new Formule(formule.Litterale + "⁴", formule.Numerique + "⁴",
                            Math.Pow(formule.Resultat, 3), PrioVar, formule.NombreOperations + 1));
     }
     return(new Formule(formule.LitteraleParenthese + "⁴", formule.NumeriqueParenthese + "⁴",
                        Math.Pow(formule.Resultat, 3), PrioVar, formule.NombreOperations + 1));
 }
Esempio n. 5
0
 public static Var ToVar(this Formule formule, string nom)
 {
     return(new Var(nom, formule));
 }
Esempio n. 6
0
 protected bool Equals(Formule other)
 {
     return(Resultat.Equals(other.Resultat));
 }