hydrobricks
Loading...
Searching...
No Matches
Utils.h
1#ifndef HYDROBRICKS_UTILS_H
2#define HYDROBRICKS_UTILS_H
3
4#include <chrono>
5
6#include "Includes.h"
7
11[[nodiscard]] bool InitHydrobricks();
12
16[[nodiscard]] bool InitHydrobricksForPython();
17
23string GetUserDirPath();
24
30[[nodiscard]] bool CheckOutputDirectory(const string& path);
31
37void DisplayProcessingTime(std::chrono::steady_clock::time_point startTime);
38
44void InitLog(const string& path);
45
49void CloseLog();
50
54void SetMaxLogLevel();
55
59void SetDebugLogLevel();
60
64void SetMessageLogLevel();
65
75bool IsNaN(int value);
76
83bool IsNaN(float value);
84
91bool IsNaN(double value);
92
98const char* GetPathSeparator();
99
111bool StringsMatch(const string& str1, const string& str2);
112
123int Find(const int* start, const int* end, int value, int tolerance = 0, bool showWarning = true);
124
135int Find(const float* start, const float* end, float value, float tolerance = 0.0, bool showWarning = true);
136
147int Find(const double* start, const double* end, double value, double tolerance = 0.0, bool showWarning = true);
148
159template <class T>
160int FindT(const T* start, const T* end, T value, T tolerance = 0, bool showWarning = true);
161
170double IncrementDateBy(double date, int amount, TimeUnit unit);
171
178Time GetTimeStructFromMJD(double mjd);
179
187double ParseDate(const string& dateStr, TimeFormat format);
188
200double GetMJD(int year, int month = 1, int day = 1, int hour = 0, int minute = 0, int second = 0);
201
202#endif // HYDROBRICKS_UTILS_H
Definition Includes.h:43