14#include <rusefi/rusefi_time_math.h>
19#include "port_mpu_util.h"
23 return static_cast<int>(time);
28#if __cplusplus >= 202302L
30 return std::isfinite(f);
31#elif defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
36 return std::isfinite(f);
41 constexpr auto FirstUnrepresentableBigFloat =
static_cast<float>(INT32_MAX);
42 constexpr auto kInt32MinF =
static_cast<float>(INT32_MIN);
51 return constexpr_isfinite(value) && value >= kInt32MinF && value < FirstUnrepresentableBigFloat;
84 criticalError(
"%s value is not representable in 32bit int: %f", msg, value);
87 return static_cast<int32_t
>(value);
96 return ticks + (int32_t) extra;
102#define US2NT(us) (((efitick_t)(us)) * US_TO_NT_MULTIPLIER)
105#define MS2NT(msTime) US2NT(MS2US(msTime))
107#define MSF2NT(msTimeFloat) USF2NT(MS2US(msTimeFloat))
uint32_t getTimeNowLowerNt()
efitimesec_t getTimeNowS()
Current system time in seconds (32 bits)
void setTimeNowUs(int us)
int time2print(int64_t time)
efitick_t sumTickAndFloat(efitick_t ticks, float extra)
constexpr bool _assertFloatFitsInto32BitsAndCast(float value)
constexpr int32_t assertFloatFitsInto32BitsAndCast(const char *msg, float value)
constexpr bool constexpr_isfinite(float f)
void advanceTimeUs(int us)
efitimems_t getTimeNowMs()
Returns the 32 bit number of milliseconds since the board initialization.