aboutsummaryrefslogtreecommitdiffstats
path: root/util/draft
diff options
context:
space:
mode:
authorsobols <sobols@yandex-team.ru>2022-02-10 16:47:08 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:08 +0300
commit03335cb18337a0ef51966452a66a69b01abea218 (patch)
treeb83306b6e37edeea782e9eed673d89286c4fef35 /util/draft
parent09961b69c61f471ddd594e0fd877df62a8021562 (diff)
downloadydb-03335cb18337a0ef51966452a66a69b01abea218.tar.gz
Restoring authorship annotation for <sobols@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'util/draft')
-rw-r--r--util/draft/datetime.cpp30
-rw-r--r--util/draft/datetime.h6
-rw-r--r--util/draft/datetime_ut.cpp34
3 files changed, 35 insertions, 35 deletions
diff --git a/util/draft/datetime.cpp b/util/draft/datetime.cpp
index aebbec25d34..5cbe7d88477 100644
--- a/util/draft/datetime.cpp
+++ b/util/draft/datetime.cpp
@@ -17,25 +17,25 @@ namespace NDatetime {
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} //leap
};
- const ui32 MonthDaysNewYear[2][13] = {
- {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365}, //nleap
- {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366} //leap
+ const ui32 MonthDaysNewYear[2][13] = {
+ {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365}, //nleap
+ {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366} //leap
};
- void YDayToMonthAndDay(ui32 yday, bool isleap, ui32* month, ui32* mday) {
- const ui32* begin = MonthDaysNewYear[isleap] + 1;
- const ui32* end = begin + 12;
- // [31, ..., 365] or [31, ..., 366] (12 elements)
-
- const ui32* pos = UpperBound(begin, end, yday);
+ void YDayToMonthAndDay(ui32 yday, bool isleap, ui32* month, ui32* mday) {
+ const ui32* begin = MonthDaysNewYear[isleap] + 1;
+ const ui32* end = begin + 12;
+ // [31, ..., 365] or [31, ..., 366] (12 elements)
+
+ const ui32* pos = UpperBound(begin, end, yday);
Y_ENSURE(pos != end, "day no. " << yday << " does not exist in " << (isleap ? "leap" : "non-leap") << " year");
-
- *month = pos - begin;
- *mday = yday - *(pos - 1) + 1;
-
+
+ *month = pos - begin;
+ *mday = yday - *(pos - 1) + 1;
+
Y_ASSERT((*month < 12) && (1 <= *mday) && (*mday <= MonthDays[isleap][*month]));
- }
-
+ }
+
struct TTimeData {
i32 IsDst = 0;
i32 GMTOff = 0;
diff --git a/util/draft/datetime.h b/util/draft/datetime.h
index 8f84d13132b..8a387ea6f1b 100644
--- a/util/draft/datetime.h
+++ b/util/draft/datetime.h
@@ -12,7 +12,7 @@
namespace NDatetime {
extern const ui32 MonthDays[2][12]; // !leapYear; !!leapYear
- extern const ui32 MonthDaysNewYear[2][13]; // !leapYear; !!leapYear
+ extern const ui32 MonthDaysNewYear[2][13]; // !leapYear; !!leapYear
inline ui32 YearDaysAD(ui32 year) {
year = Max<ui32>(year, 1) - 1; //1 AD comes straight after 1 BC, no 0 AD
@@ -27,8 +27,8 @@ namespace NDatetime {
return MonthDaysNewYear[isleap][Min(month, (ui32)11u)] + mday - 1;
}
- void YDayToMonthAndDay(ui32 yday /*0 - based*/, bool isleap, ui32* month /*0 - based*/, ui32* mday /*1 - based*/);
-
+ void YDayToMonthAndDay(ui32 yday /*0 - based*/, bool isleap, ui32* month /*0 - based*/, ui32* mday /*1 - based*/);
+
struct TSimpleTM {
enum EField {
F_NONE = 0,
diff --git a/util/draft/datetime_ut.cpp b/util/draft/datetime_ut.cpp
index da103dace6d..a5e065ef6e8 100644
--- a/util/draft/datetime_ut.cpp
+++ b/util/draft/datetime_ut.cpp
@@ -62,23 +62,23 @@ Y_UNIT_TEST_SUITE(TSimpleTMTest) {
}
Y_UNIT_TEST(TestYDayConversion) {
- using namespace NDatetime;
- ui32 month;
- ui32 mday;
-
- for (ui32 yday = 0; yday < 365; ++yday) {
- YDayToMonthAndDay(yday, false, &month, &mday);
- UNIT_ASSERT_VALUES_EQUAL(yday, YDayFromMonthAndDay(month, mday, false));
- }
- for (ui32 yday = 0; yday < 366; ++yday) {
- YDayToMonthAndDay(yday, true, &month, &mday);
- UNIT_ASSERT_VALUES_EQUAL(yday, YDayFromMonthAndDay(month, mday, true));
- }
-
- UNIT_ASSERT_EXCEPTION(YDayToMonthAndDay(365, false, &month, &mday), yexception);
- UNIT_ASSERT_EXCEPTION(YDayToMonthAndDay(366, true, &month, &mday), yexception);
- }
-
+ using namespace NDatetime;
+ ui32 month;
+ ui32 mday;
+
+ for (ui32 yday = 0; yday < 365; ++yday) {
+ YDayToMonthAndDay(yday, false, &month, &mday);
+ UNIT_ASSERT_VALUES_EQUAL(yday, YDayFromMonthAndDay(month, mday, false));
+ }
+ for (ui32 yday = 0; yday < 366; ++yday) {
+ YDayToMonthAndDay(yday, true, &month, &mday);
+ UNIT_ASSERT_VALUES_EQUAL(yday, YDayFromMonthAndDay(month, mday, true));
+ }
+
+ UNIT_ASSERT_EXCEPTION(YDayToMonthAndDay(365, false, &month, &mday), yexception);
+ UNIT_ASSERT_EXCEPTION(YDayToMonthAndDay(366, true, &month, &mday), yexception);
+ }
+
Y_UNIT_TEST(SimpleTMTest) {
using namespace NDatetime;