本文整理汇总了C#中Function.ForceAddFunctions方法的典型用法代码示例。如果您正苦于以下问题:C# Function.ForceAddFunctions方法的具体用法?C# Function.ForceAddFunctions怎么用?C# Function.ForceAddFunctions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Function
的用法示例。
在下文中一共展示了Function.ForceAddFunctions方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetVariableValue
public override FunctionElement SetVariableValue(string name, FunctionElement e)
{
Function newF = new Function();
this.variables.ForEach(v => newF += v.SetVariableValue(name, e));
//newF.Degree = this.Degree;
//newF.Functions = new List<MathFunctions.IMathFunction>(this.Functions);
newF.ForceAddFunctions(this);
foreach (var mf in newF.MathFunctions)
{
for (int i = 0; i < mf.Item2.Length; i++)
{
mf.Item2[i] = mf.Item2[i].SetVariableValue(name, e);
}
}
return newF.Recalc();
}
示例2: Clone
//.........这里部分代码省略.........
// return newF;
//}
//public static Function operator *(double d, Function f)
//{
// return f * d;
//}
#endregion
#region operator /
// public static Function operator /(Function f1, Function f2)
// {
//#warning Сделать деление функций
// if (f2.IsConstant())
// {
// return f1 / f2.ToDouble();
// }
// if (f2.VarsCount > 1 || (f2.VarsCount == 0 && f2.ToDouble() == 0))
// {
// Function f = f1.Clone() as Function;
// Function f22 = f2.Clone() as Function;
// f22.Degree *= -1;
// f.variables.Add(new VariablesMulriplication(f2));
// return f;
// throw new Exception("Я еще не умею так делить.");
// }
// Function res = new Function();
// VariablesMulriplication d = f2.variables.Find(v => v.VarsCount != 0);
// foreach (var v in f1.variables)
// {
// res += v / d;
// }
// return res;
// }
// public static Function operator /(Function f, VariablesMulriplication vs)
// {
// Function newF = new Function();
// foreach (var v in f.variables)
// {
// newF += v / vs;
// }
// return newF;
// }
// public static Function operator /(VariablesMulriplication vs, Function f)
// {
// return new Function(vs) / f;
// }
// public static Function operator /(Function f, FunctionElement v)
// {
// Function newF = new Function();
// foreach (var vs in f.variables)
// {
// newF += vs / v;
// }
// return newF;
// }
// public static Function operator /(FunctionElement v, Function f)
// {
// return new Function(new VariablesMulriplication(v)) / f;
// }
// public static Function operator /(Function f, double d)
// {
// Function newF = new Function();
// foreach (var vs in f.variables)
// {
// newF += vs / d;
// }
// return newF;
// }
// public static Function operator /(double d, Function f)
// {
// return new Function(d) / f;
// }
#endregion
*/
public override object Clone()
{
List<VariablesMulriplication> vars = new List<VariablesMulriplication>();
foreach (var vs in this.variables)
{
if (vs.Constant != 0)
{
vars.Add(vs.Clone() as VariablesMulriplication);
}
}
var temp = new Function(vars.ToArray());
temp.MathFunctions.Clear();
temp.ForceAddFunctions(this);
return temp;
}