程序包 org.hipparchus.util

类 IterationManager

java.lang.Object
org.hipparchus.util.IterationManager

public class IterationManager extends Object
这个抽象类提供了一个管理迭代算法的通用框架。可以设置最大迭代次数,并提供了监视当前迭代计数的方法。还提供了一个轻量级的事件框架。
  • 构造器详细资料

    • IterationManager

      public IterationManager(int maxIterations)
      创建此类的新实例。
      参数:
      maxIterations - 最大迭代次数
    • IterationManager

      public IterationManager(int maxIterations, Incrementor.MaxCountExceededCallback callBack)
      创建此类的新实例。
      参数:
      maxIterations - 最大迭代次数
      callBack - 达到最大迭代次数时要调用的函数
      抛出:
      NullArgumentException - 如果callBacknull
  • 方法详细资料

    • addIterationListener

      public void addIterationListener(IterationListener listener)
      将监听器附加到此管理器。
      参数:
      listener - 一个IterationListener对象。
    • fireInitializationEvent

      public void fireInitializationEvent(IterationEvent e)
      通知所有已注册的监听器,初始阶段(主迭代循环之前)已完成。
      参数:
      e - IterationEvent对象。
    • fireIterationPerformedEvent

      public void fireIterationPerformedEvent(IterationEvent e)
      通知所有已注册的监听器,已执行新的迭代(在主迭代循环中)。
      参数:
      e - IterationEvent对象。
    • fireIterationStartedEvent

      public void fireIterationStartedEvent(IterationEvent e)
      通知所有已注册的监听器,已启动新的迭代(在主迭代循环中)。
      参数:
      e - IterationEvent对象。
    • fireTerminationEvent

      public void fireTerminationEvent(IterationEvent e)
      通知所有已注册的监听器,已完成最终阶段(迭代后)。
      参数:
      e - IterationEvent对象。
    • getIterations

      public int getIterations()
      返回此求解器的迭代次数,如果尚未执行任何迭代,则返回0。
      返回:
      迭代次数。
    • getMaxIterations

      public int getMaxIterations()
      返回最大迭代次数。
      返回:
      最大迭代次数。
    • incrementIterationCount

      public void incrementIterationCount() throws MathIllegalStateException
      将迭代计数增加一,并在达到最大迭代次数时抛出异常。此方法应在新迭代开始时调用。
      抛出:
      MathIllegalStateException - 如果达到最大迭代次数。
    • removeIterationListener

      public void removeIterationListener(IterationListener listener)
      从当前附加到this对象的监听器列表中移除指定的迭代监听器。尝试移除先前未注册的监听器不会导致任何错误。
      参数:
      listener - 要移除的IterationListener
    • resetIterationCount

      public void resetIterationCount()
      将迭代计数设置为0。此方法必须在初始阶段调用。