예제 #1
0
 internal bool ContainsVariable(Variable v1)
 {
     for (int i = 0; i < vars.Length; i++)
     {
         if (v1.IsSameVarname(vars[i]))
         {
             return(true);
         }
     }
     return(false);
 }
예제 #2
0
 //===========================================================
 //		代入 (文字の置換)
 //===========================================================
 /// <summary>
 /// 指定した変数に対する代入を試みます。
 /// </summary>
 /// <param name="v">代入の対象の変数を指定します。指数部は無視されます。</param>
 /// <param name="x">v で指定した変数に代入する式を指定します。</param>
 /// <returns>
 /// 指定した変数を代入する事が出来た場合にはその代入した結果を返します。
 /// この項が含んでいる指定した変数が負羃を持っていた場合には代入は失敗し、null を返します。
 /// この項が指定した変数を含んでおらず、従って代入する必要がなかった場合にも null を返します。
 /// </returns>
 internal Expression Substitute(Variable v, Expression x)
 {
     for (int i = 0; i < vars.Length; i++)
     {
         Variable v1 = vars[i];
         if (v1.Exponent <= 0)
         {
             return(null);
         }
         if (v.IsSameVarname(v1))
         {
             return((this / new Member(v1)) * Expression.Pow(x, v1.Exponent));
         }
     }
     return(null);
 }