예제 #1
0
        protected override Function ComputePartialValue(IPartialEvaluator evaluator)
        {
            IPoint point = evaluator.Point;

            if (point.ContainsVariable(this))
            {
                // Replace this variable by the specified value.
                return point[this];
            }

            // This variable isn't replaced by a value. Just keep it.
            return this;
        }
 protected override Function ComputePartialValue(IPartialEvaluator evaluator)
 {
     return Function.Sqrt(f.PartialValue(evaluator));
 }
예제 #3
0
 public PartialValueFunction(Function innerFunction, IPartialEvaluator partialEvaluator)
 {
     this.innerFunction = innerFunction;
     this.partialEvaluator = partialEvaluator;
 }
예제 #4
0
 /// <summary>
 /// Replaces a number of variables by fixed values.
 /// </summary>
 public static Function ComputePartialValue(Function function, IPartialEvaluator evaluator)
 {
     return function.ComputePartialValue(evaluator);
 }
예제 #5
0
 /// <summary>
 /// Replaces a number of variables by fixed values. Override this to implement.
 /// </summary>
 protected virtual Function ComputePartialValue(IPartialEvaluator evaluator)
 {
     // Use slow and inefficient implementation using PartialValueFunction by default. Override to provide a more efficient implementation.
     return new PartialValueFunction(this, evaluator);
 }
예제 #6
0
 /// <summary>
 /// Substitutes a number of variables by function values. The chain rule is applied. Returns a function of the remaining variables and the variables introduced implicitly through the substitution.
 /// </summary>
 public Function Substitute(IPartialEvaluator evaluator)
 {
     throw new NotImplementedException();
     //return evaluator.Evaluate(this);
 }
예제 #7
0
 /// <summary>
 /// Replaces a number of variables by fixed values. Returns a function of the remaining variables.
 /// </summary>
 public Function PartialValue(IPartialEvaluator evaluator)
 {
     return evaluator.Evaluate(this);
 }
예제 #8
0
 protected override Function ComputePartialValue(IPartialEvaluator evaluator)
 {
     return this;
 }
 protected override Function ComputePartialValue(IPartialEvaluator evaluator)
 {
     return f.PartialValue(evaluator) - g.PartialValue(evaluator);
 }