Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › simd › extract Public Function extract Doc Source Public Function std.simd.extract
pub fn extract (
vec : anytype ,
comptime first : VectorIndex (@TypeOf (vec )),
comptime count : VectorCount (@TypeOf (vec )),
) @Vector (count , std .meta .Child (@TypeOf (vec ))) Params File simd.zig: 212
212
213
214
215
216
217
218
219
220
221
222
223 pub fn extract (
vec : anytype ,
comptime first : VectorIndex (@TypeOf (vec )),
comptime count : VectorCount (@TypeOf (vec )),
) @Vector (count , std .meta .Child (@TypeOf (vec ))) {
const Child = std .meta .Child (@TypeOf (vec ));
const len = vectorLength (@TypeOf (vec ));
std .debug .assert (@as (comptime_int , @intCast (first )) + @as (comptime_int , @intCast (count )) <= len );
return @shuffle (Child , vec , undefined , iota (i32 , count ) + @as (@Vector (count , i32 ), @splat (@intCast (first ))));
}