file(s) created; namespace UTILITY_FUNCTIONS moved here from Controller.h(pp)

This commit is contained in:
Uwe Jakobeit
2026-04-01 19:16:25 +02:00
parent 3b9405f029
commit a1cf78dd20
13 changed files with 58 additions and 2424 deletions

52
app/util.h Normal file
View File

@@ -0,0 +1,52 @@
#ifndef UTIL_H
#define UTIL_H
#include <algorithm>
#include <cmath>
#include <cstdint>
#define MAX std::max
#define MIN std::min
namespace UTILITY_FUNCTIONS {
inline double limit(double x, double lo, double hi) {
return (x < lo) ? lo : (x > hi) ? hi : x;
}
inline double max3(double a, double b, double c) {
return std::max(a, std::max(b, c));
}
inline double min3(double a, double b, double c) {
return std::min(a, std::min(b, c));
}
inline bool is_valid(double x) { return std::isfinite(x); }
// ST: REAL_TO_INT(x) i.d.R. trunc Richtung 0. Bei Siemens oft ROUND? Du nutzt
// häufig +0.5.
inline int real_to_int(double x) { return static_cast<int>(x); }
// Platzhalter für GET_VALUE_* (kommt vermutlich aus Parameter-/Recipe-System)
inline std::int32_t GET_VALUE_DINT(int /*a*/, int /*b*/, int /*c*/, int /*d*/) {
// TODO: an dein Parameter-System anbinden
return 0;
}
inline double GET_VALUE_REAL(int /*a*/, int /*b*/, int /*c*/, int /*d*/) {
// TODO: an dein Parameter-System anbinden
return 0.0;
}
class Util{
public:
};
} // namespace UTILITY_FUNCTIONS
#endif // UTIL_H