Skip to documentation
SLOP

tiny.arrange.Measurer

Reference tiny.arrange Measurer

Defined in tiny.arrange.

API (7)

Actions

Public operations.

Fields and members

Public fields and members.

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

Source

Source: lib/arrange/src/types.zig:127

zig
pub const Measurer = struct {    measure: Measure,    memos: []MeasureMemo = &.{},    used: usize = 0,    calls: usize = 0,    probes: usize = 0,    pub fn reset(self: *Measurer) void {        for (self.memos) |*memo| memo.* = .{};        self.used = 0;        self.calls = 0;        self.probes = 0;    }    pub fn size(self: *Measurer, token: u32, available: Available) Size {        if (self.memos.len == 0) {            self.calls += 1;            return self.measure.size(token, available);        }        const index = measureHash(token, available) % self.memos.len;        const memo = &self.memos[index];        self.probes += 1;        if (memo.valid and memo.token == token and sameAvailable(memo.available, available)) {            return memo.size;        }        const measured = self.measure.size(token, available);        self.calls += 1;        if (!memo.valid) {            self.used += 1;        }        memo.* = .{            .valid = true,            .token = token,            .available = available,            .size = measured,        };        return measured;    }};

Source: lib/arrange/src/root.zig:28

zig
pub const Measurer = types.Measurer;
Called byCallsNo direct callersMeasuresizeprivate sourcelib.arrange.src.typesmeasureHashprivate sourcelib.arrange.src.typessameAvailableMeasurersize
Static calls · unresolved targets: 0 · external targets: 0.

Audit

Definitions3
Public names3
Members5
Version26.7.0
Revisiondaab053ee433