tiny.simd.TargetRuntime
Defined in target.
API (10)
Actions
Public operations.
Fields and members
Public fields and members.
Source
Source: lib/simd/src/target.zig:236
zig
pub const Runtime = struct { static: Target, dispatch_fallback: Target, disabled: AtomicMask = AtomicMask.init(0), mocked: AtomicMask = AtomicMask.init(0), chosen: ChosenTarget = .{}, pub fn init(static: Target) Runtime { return .{ .static = static, .dispatch_fallback = .emu128 }; } pub fn disableTargets(self: *Runtime, disabled: Mask) void { self.disabled.store(disabled); self.chosen.deinit(); } pub fn setSupportedTargetsForTest(self: *Runtime, targets: Mask) void { self.mocked.store(targets); self.chosen.deinit(); } pub fn supportedTargets(self: *Runtime, detected: Mask) Mask { var targets = self.mocked.load(); if (targets == 0) targets = detected; targets &= ~self.disabled.load(); return if (targets == 0) self.static.bit() else targets; } pub fn dispatchedTarget( self: *Runtime, detected: Mask, generated: Mask, ) Target { if (self.cachedDispatchedTarget(generated)) |target| return target; const supported = self.supportedTargets(detected); self.chosen.update(supported); return self.selectSupported(supported, generated); } fn cachedDispatchedTarget(self: *Runtime, generated: Mask) ?Target { const supported = self.chosen.load(); return if (supported == 0) null else self.selectSupported(supported, generated); } fn selectSupported(self: *Runtime, supported: Mask, generated: Mask) Target { return bestTarget(supported & generated) orelse self.dispatch_fallback; }};Source: lib/simd/src/root.zig:73
zig
pub const TargetRuntime = target.Runtime;Audit
| Definitions | 6 |
|---|---|
| Public names | 12 |
| Members | 5 |
| Version | 26.7.0 |
| Revision | daab053ee433 |