using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace AutoDiff { /// /// Visitor for terms that has no result from its computations. /// public interface ITermVisitor { /// /// Performs an action for a constant term. /// /// The input term. void Visit(Constant constant); /// /// Performs an action for a zero term. /// /// The input term. void Visit(Zero zero); /// /// Performs an action for a constant power term. /// /// The input term. void Visit(ConstPower power); /// /// Performs an action for a power term. /// /// The input term. void Visit(TermPower power); /// /// Performs an action for a product term. /// /// The input term. void Visit(Product product); /// /// Performs an action for a sum term. /// /// The input term. void Visit(Sum sum); /// /// Performs an action for a variable term. /// /// The input term. void Visit(Variable variable); /// /// Performs an action for a logarithm term. /// /// The input term. void Visit(Log log); /// /// Performs an action for an exponential function term. /// /// The input term. void Visit(Exp exp); /// /// Performs an action for an unary function. /// /// The unary function void Visit(UnaryFunc func); /// /// Performs an action for a binary function. /// /// The binary function void Visit(BinaryFunc func); /// /// Performs an action for a n-ary function. /// /// The n-ary function void Visit(NaryFunc func); } }