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 library itself.
Zig › std/ › simd.zig › extract
extract
simd.extract
pub fn extract (
vec : anytype ,
comptime first : VectorIndex (@TypeOf (vec )),
comptime count : VectorCount (@TypeOf (vec )),
) @Vector (count , std .meta .Child (@TypeOf (vec )))
File
Code
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 ))));
}