Skip to documentation
SLOP

tiny.simd.SpinPause

Reference tiny.simd SpinPause

Defined in thread.spin.

API (3)

Actions

Public operations.

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

Source

Source: lib/simd/src/thread/spin.zig:16

zig
pub const SpinPause = struct {    pub fn spinType(_: SpinPause) SpinType {        return .pause;    }    pub fn untilDifferent(        _: SpinPause,        previous: u32,        watched: *const std.atomic.Value(u32),    ) SpinResult {        var repetitions: u32 = 0;        while (true) : (repetitions +%= 1) {            const current = watched.load(.acquire);            if (current != previous) {                return .{                    .value = current,                    .repetitions = repetitions,                };            }            std.atomic.spinLoopHint();        }    }    pub fn untilEqual(        _: SpinPause,        expected: u32,        watched: *const std.atomic.Value(u32),    ) usize {        var repetitions: usize = 0;        while (watched.load(.acquire) != expected) : (repetitions +%= 1) {            std.atomic.spinLoopHint();        }        return repetitions;    }};

Source: lib/simd/src/root.zig:121

zig
pub const SpinPause = thread.SpinPause;

Also reachable as

thread.SpinPause.

Audit

Definitions4
Public names12
Members0
Version26.7.0
Revisiondaab053ee433