From cacde79ed6c866a370dd58f97ed1baa31b0b2c35 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Tue, 1 Sep 2026 13:38:42 -0700 Subject: [PATCH] optimize isLeapYear --- time.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/time.zig b/time.zig index bd012d59a30e48b89db7f718499627f7fa91daaf..c0e605d2646e065a7b832b899f05d152dc2daf27 100644 --- a/time.zig +++ b/time.zig @@ -509,12 +509,12 @@ pub const Era = enum { } }; +// https://hueffner.de/falk/blog/a-leap-year-check-in-three-instructions.html pub fn isLeapYear(year: u16) bool { - var ret = false; - if (year % 4 == 0) ret = true; - if (year % 100 == 0) ret = false; - if (year % 400 == 0) ret = true; - return ret; + if (year % 4 != 0) return false; + if (year % 25 != 0) return true; + if (year % 16 == 0) return true; + return false; } pub fn daysInYear(year: u16) u16 { -- 2.54.0