From cd8c798bd4eb1f4ef1c0e0d3b4db198295634814 Mon Sep 17 00:00:00 2001 From: mitteneer Date: Mon, 14 Jul 2025 14:01:48 -0400 Subject: [PATCH] Fix incorrect pairing function --- src/app/views/upload.zig | 6 ++++-- src/date_fmt.zig | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/views/upload.zig b/src/app/views/upload.zig index 15deee3..3e9e8ba 100644 --- a/src/app/views/upload.zig +++ b/src/app/views/upload.zig @@ -177,12 +177,14 @@ pub fn post(request: *jetzig.Request) !jetzig.View { } } - std.log.debug("\nSkipped {} tracks\nFiltered {} tracks by date", .{ skipped_tracks, limited_tracks }); + std.log.debug("Skipped {} tracks\nFiltered {} tracks by date", .{ skipped_tracks, limited_tracks }); try job.schedule(); return request.render(.created); } +// Cantor Pairing Function +// https://en.wikipedia.org/wiki/Pairing_function fn pair(a: u64, b: u64) u64 { - return @divFloor((a +% b) *% (a +% b +% 1) +% b, 2); + return @mod(@divFloor((a +% b) *% (a +% b +% 1), 2) +% b, std.math.maxInt(u64)); } diff --git a/src/date_fmt.zig b/src/date_fmt.zig index 5a883b4..e6914a4 100644 --- a/src/date_fmt.zig +++ b/src/date_fmt.zig @@ -64,7 +64,7 @@ const ScrobbleFields = enum { ms_played, // Spotify playtime reason_end, // Spotify reason end,1_000 @"@attr", // LastFM now playing - irrelevant, + irrelevant, // Not a field I care about }; pub fn scrobbleIngest(allocator: std.mem.Allocator, input: []const u8) ![]Data.UnifiedScrobble {