PetaVision  Alpha
KneeTimeScaleController.hpp
1 #ifndef _KNEETIMESCALECONTROLLER_HPP_
2 #define _KNEETIMESCALECONTROLLER_HPP_
3 
4 #include "AdaptiveTimeScaleController.hpp"
5 
6 namespace PV {
7 
9  public:
11  char const *name,
12  int batchWidth,
13  double baseMax,
14  double baseMin,
15  double tauFactor,
16  double growthFactor,
17  bool writeTimeScaleFieldnames,
18  Communicator *comm,
19  double kneeThresh,
20  double kneeSlope);
21 
22  virtual std::vector<double>
23  calcTimesteps(double timeValue, std::vector<double> const &rawTimeScales) override;
24 
25  protected:
26  double mKneeThresh = 1.0;
27  double mKneeSlope = 1.0;
28 };
29 }
30 
31 #endif