4 #define _USE_MATH_DEFINES
100 virtual std::size_t toDiscrete(
double const time)
const;
109 virtual std::size_t toCyclicDiscrete(
double const time)
const;
117 virtual std::size_t toPeriodicDiscrete(
double const time)
const;
126 virtual double toContinuous(std::size_t
const step)
const;
134 virtual double toCyclicContinuous(std::size_t
const step)
const;
142 virtual double toPeriodicContinuous(std::size_t
const step)
const;
153 inline std::size_t getFrequency()
const {
return frequency;}
160 inline void setFrequency(std::size_t
const frequency) {
163 this->period = 1.0/(this->
freq);
164 setPeriodScale(getPeriodScale());
170 inline double getPeriod()
const {
return period;}
176 inline double getPeriodScale()
const {
return periodScale;}
182 inline void setPeriodScale(
double const periodScale){
186 this->scaledFrequency = (size_t) std::ceil(this->scaledFreq);
Class to handle discrete time. It supports transforming from continuous time to discrete time and als...
Definition: DiscreteTime.h:16
double period
Decimal representation of the period .
Definition: DiscreteTime.h:41
double periodScale
The period scale defining the period length. If it is 1.0, then it means periodic and cyclic transfo...
Definition: DiscreteTime.h:53
std::size_t scaledFrequency
How many iterations applying period scale . It is, .
Definition: DiscreteTime.h:65
double scaledFreq
Decimal representation of the scaled frequency .
Definition: DiscreteTime.h:70
double freqScale
Simply the inverse of period scale .
Definition: DiscreteTime.h:58
double freq
Decimal representation of the frequency .
Definition: DiscreteTime.h:32
std::size_t frequency
The frequency defining the discrete time. It is, how many iterations per second.
Definition: DiscreteTime.h:26