From df706890beccb6adfa6234771f0f135f2b3133de Mon Sep 17 00:00:00 2001 From: zenonet Date: Thu, 18 Sep 2025 21:30:12 +0200 Subject: [PATCH] made the period lookup const --- src/main.rs | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/src/main.rs b/src/main.rs index e4ce5ef..c2d706b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -184,19 +184,21 @@ fn draw_layout(display: &mut epd_waveshare::epd7in5_v2::Display7in5, timetable: } -fn get_school_period(time: NaiveTime) -> u8{ - let lookup: [NaiveTime; 8] = [ - (NaiveTime::from_hms_opt(8, 45, 0).unwrap()), - (NaiveTime::from_hms_opt(9, 35, 0).unwrap()), - (NaiveTime::from_hms_opt(10, 40, 0).unwrap()), - (NaiveTime::from_hms_opt(11, 30, 0).unwrap()), - (NaiveTime::from_hms_opt(12, 40, 0).unwrap()), - (NaiveTime::from_hms_opt(13, 30, 0).unwrap()), - (NaiveTime::from_hms_opt(14, 25, 0).unwrap()), - (NaiveTime::from_hms_opt(15, 15, 0).unwrap()), - ]; +const PERIOD_LOOKUP: [NaiveTime; 8] = [ + (NaiveTime::from_hms_opt(8, 45, 0).unwrap()), + (NaiveTime::from_hms_opt(9, 35, 0).unwrap()), + (NaiveTime::from_hms_opt(10, 40, 0).unwrap()), + (NaiveTime::from_hms_opt(11, 30, 0).unwrap()), + (NaiveTime::from_hms_opt(12, 40, 0).unwrap()), + (NaiveTime::from_hms_opt(13, 30, 0).unwrap()), + (NaiveTime::from_hms_opt(14, 25, 0).unwrap()), + (NaiveTime::from_hms_opt(15, 15, 0).unwrap()), +]; - for (index, period_time) in lookup.iter().enumerate(){ +fn get_school_period(time: NaiveTime) -> u8{ + + + for (index, period_time) in PERIOD_LOOKUP.iter().enumerate(){ if time < *period_time{ return index as u8; } @@ -206,16 +208,6 @@ fn get_school_period(time: NaiveTime) -> u8{ fn transform_lessons(lessons: Vec) -> Box{ - let lookup: [NaiveTime; 8] = [ - (NaiveTime::from_hms_opt(8, 45, 0).unwrap()), - (NaiveTime::from_hms_opt(9, 35, 0).unwrap()), - (NaiveTime::from_hms_opt(10, 40, 0).unwrap()), - (NaiveTime::from_hms_opt(11, 30, 0).unwrap()), - (NaiveTime::from_hms_opt(12, 40, 0).unwrap()), - (NaiveTime::from_hms_opt(13, 30, 0).unwrap()), - (NaiveTime::from_hms_opt(14, 25, 0).unwrap()), - (NaiveTime::from_hms_opt(15, 15, 0).unwrap()), - ]; let mut table: Box<[[Option; 8]; 5]> = Box::new([0u8; 5].map(|_| [0u8; 8].map(|_| Option::::None))); @@ -223,7 +215,7 @@ fn transform_lessons(lessons: Vec) -> Box{ let day_idx = lesson.date.weekday().num_days_from_monday() as usize; let mut l = Cow::::Owned(lesson); - for (period_idx, time) in lookup.iter().enumerate(){ + for (period_idx, time) in PERIOD_LOOKUP.iter().enumerate(){ if l.start_time.0 < *time && &l.end_time.0 >= time{ table[day_idx][period_idx] = Some(l.into_owned()); l = Cow::Borrowed(&table[day_idx][period_idx].as_ref().unwrap());