Skip to documentation
SLOP

tiny.smg.analysis.paging

Reference tiny.smg analysis paging

Defined in analysis.

API (3)

Actions

Public operations.

No direct callersNo direct callsanalysispaging
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Called byCallsprivate; no linktools.smg.src.analysis.overviewwriteModuleTabletest; no linktools.smg.src.analysis.pagingtest: remaining count matches slice e...private; no linktools.smg.src.analysis.reportwriteConceptsTextprivate; no linktools.smg.src.analysis.reportwriteFullCodeHealthTextprivate; no linktools.smg.src.analysis.reportwriteFullStructureTextanalysis.pagingsliceEndanalysis.paginglengthGreaterThanStop
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallstest; no linktools.smg.src.analysis.pagingtest: remaining count matches slice e...private; no linktools.smg.src.analysis.reportwriteConceptsTextprivate; no linktools.smg.src.analysis.reportwriteFullCodeHealthTextprivate; no linktools.smg.src.analysis.reportwriteFullStructureTextanalysis.pagingsliceEndanalysis.pagingremainingAfterStop
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callsanalysisoverviewanalysis.paginglengthGreaterThanStopanalysis.pagingremainingAfterStoptest; no linktools.smg.src.analysis.pagingtest: slice end clamps stopsanalysis.pagingsliceEnd
Static calls · unresolved targets: 0 · external targets: 0.

Source: tools/smg/src/analysis/paging.zig

zig
const std = @import("std");pub fn sliceEnd(len: usize, stop: i64) usize {    if (stop >= 0) {        const value = std.math.cast(usize, stop) orelse return len;        return @min(value, len);    }    if (stop == std.math.minInt(i64)) return 0;    const drop = std.math.cast(usize, -stop) orelse return 0;    if (drop >= len) return 0;    return len - drop;}pub fn lengthGreaterThanStop(len: usize, stop: i64) bool {    return sliceEnd(len, stop) < len;}pub fn remainingAfterStop(len: usize, stop: i64) usize {    return len - sliceEnd(len, stop);}test "slice end clamps stops" {    try std.testing.expectEqual(@as(usize, 5), sliceEnd(10, 5));    try std.testing.expectEqual(@as(usize, 10), sliceEnd(10, 15));    try std.testing.expectEqual(@as(usize, 7), sliceEnd(10, -3));    try std.testing.expectEqual(@as(usize, 0), sliceEnd(10, -10));    try std.testing.expectEqual(@as(usize, 0), sliceEnd(10, std.math.minInt(i64)));    try std.testing.expectEqual(@as(usize, 10), sliceEnd(10, std.math.maxInt(i64)));}test "remaining count matches slice end" {    try std.testing.expect(!lengthGreaterThanStop(10, 10));    try std.testing.expect(lengthGreaterThanStop(10, 9));    try std.testing.expect(lengthGreaterThanStop(10, -3));    try std.testing.expect(!lengthGreaterThanStop(0, -3));    try std.testing.expectEqual(@as(usize, 5), remainingAfterStop(10, 5));    try std.testing.expectEqual(@as(usize, 3), remainingAfterStop(10, -3));    try std.testing.expectEqual(@as(usize, 10), remainingAfterStop(10, -20));    try std.testing.expectEqual(@as(usize, 10), remainingAfterStop(10, std.math.minInt(i64)));    try std.testing.expectEqual(@as(usize, 0), remainingAfterStop(10, std.math.maxInt(i64)));}

Source: tools/smg/src/analysis/root.zig:4

zig
pub const paging = @import("paging.zig");

Audit

Definitions4
Public names4
Members0
Version26.7.0
Revisiondaab053ee433