VEC_STEP(3clc)
π VEC_STEP(3clc) π
okay so bestie, we're in the OpenCL Manual today and we are talking about vec_step β she's tiny, she's iconic, she counts things, and honestly? she ate.
β¨ NAME β¨
vec_step β takes a built-in scalar or vector data type argument and returns an integer value representing the number of elements in the scalar or vector. literally just a headcount for your vectors π«Ά
int vec_step(gentypen a);
int vec_step(char3 a);
int vec_step(uchar3 a);
int vec_step(short3 a);
int vec_step(ushort3 a);
int vec_step(half3 a);
int vec_step(int3 a);
int vec_step(uint3 a);
int vec_step(long3 a);
int vec_step(ulong3 a);
int vec_step(float3 a);
int vec_step(double3 a);
int vec_step(type);
no cap, that's the whole cast list. every single one of them. π
πΈ DESCRIPTION πΈ
so the vec_step built-in function takes a built-in scalar or vector data type argument and returns an integer value representing the number of elements in the scalar or vector. that's the vibe. that's the job.
- for all scalar types,
vec_stepreturns1. yes, one. a single little guy. π - the
vec_stepbuilt-in functions that take a 3-component vector return4. not 3. four. she pads. it's giving alignment energy, don't question her, just respect it. π
vec_step may also take a pure type as an argument, e.g.
vec_step(float2)
we use the generic type name gentypen (or gentypem) to indicate the built-in data types char{2|4|8|16}, uchar{2|4|8|16}, short{2|4|8|16}, ushort{2|4|8|16}, int{2|4|8|16}, uint{2|4|8|16}, long{2|4|8|16}, ulong{2|4|8|16}, or float{2|4|8|16} as the type for the arguments unless otherwise stated. we use the generic name ugentypen to indicate the built-in unsigned integer data types. and if the double is supported, then gentypen (or gentypem) also indicate the built-in data types double{2|4|8|16}. π¦
the generic type name gentypen (or gentypem) may indicate the data type half{2|4|8|16} if the cl_khr_fp16(3clc) extension is supported. so like, conditional slay. β¨
π SPECIFICATION π
OpenCL Specification[1]
π SEE ALSO π
go read her sister, she's also doing numbers.
π AUTHORS π
The Khronos Group
π COPYRIGHT π
Copyright Β© 2007-2011 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.
(that's the legal bit, bestie β read it, don't skim it, it's load-bearing. π)
ποΈ NOTES ποΈ
- OpenCL Specification page 282, section 6.12.12 Miscellaneous Vector Functions
lowkey the whole point:vec_step= "how many elements, bestie?" β1for scalars,4for any3-component vector, and the actual count for everything else. periodt. π
mwah π thanks for reading, go count some vectors, you're doing amazing sweetie π
this page came to you from The Khronos Group, dated 01/14/2021, in the VEC_STEP(3clc) era of the OpenCL Manual β and yes, that date is giving vintage but she still serves. π
π¦ where this page comes from
- ubuntu jammy: opencl-1.2-man-doc 1.0~svn33624-5 Β· other
- ubuntu noble: opencl-1.2-man-doc 1.0~svn33624-5 Β· other
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms