23 #include <KLocalizedString> 29 static double rect(
double param)
31 double div = param / (2 * M_PI);
32 param = param - (floor(div) * (2 * M_PI));
33 if (param > M_PI)
return -1;
38 static double sin2(
double param)
40 double y = sin(param);
45 static double sin3(
double param)
47 double y = sin(param);
52 static double saw(
double param)
54 double div = param / (2 * M_PI);
55 param -= (floor(div) * (2 * M_PI));
64 double div = param / (2 * M_PI);
65 param -= (floor(div) * (2 * M_PI));
66 param = 2 * M_PI - param;
73 static double tri(
double param)
76 double div = param / (2 * M_PI);
77 param -= (floor(div) * (2 * M_PI));
78 if (param > M_PI)
return (((param -M_PI) / M_PI)*2)-1;
79 return (((M_PI -param) / M_PI)*2)-1;
94 append(0, &sin,
_(
"sinus"),
_(I18N_NOOP(
"Sinus")));
95 append(1, &
rect,
_(
"rectangular"),
_(I18N_NOOP(
"Rectangular")));
96 append(2, &
saw,
_(
"sawtooth"),
_(I18N_NOOP(
"Sawtooth")));
97 append(3, &
sawinv,
_(
"inverse_sawtooth"),
_(I18N_NOOP(
"Inverse Sawtooth")));
98 append(4, &
tri,
_(
"triangular"),
_(I18N_NOOP(
"Triangular")));
99 append(5, &
sin2,
_(
"square_sinus"),
_(I18N_NOOP(
"Square Sinus")));
100 append(6, &
sin3,
_(
"cubic_sinus"),
_(I18N_NOOP(
"Cubic Sinus")));
123 unsigned int index)
const 130 if (!f)
return *(&
zero);
double() periodic_function_t(double)
unsigned int count() const
DATA data(IDX type) const
static double sawinv(double param)
periodic_function_t & function(unsigned int index) const
static double tri(double param)
unsigned int count() const
virtual void append(unsigned int index, periodic_function_t * data, const QString &name, const QString &description)
virtual void fill() Q_DECL_OVERRIDE
FunctionTypesMap m_functions_map
static double saw(double param)
static double sin2(double param)
static double sin3(double param)
QString name(IDX type) const
static double zero(double)
static double rect(double param)
QString name(unsigned int index)