POPCOUNT(3clc)
β¨ POPCOUNT π
okay so bestie, welcome to the popcount page from the OpenCL Manual β yes it's a section 3clc situation, yes it's about counting bits, and yes it absolutely eats π₯
πΈ NAME πΈ
popcount β literally just returns the number of non-zero bits in x. that's it. that's the whole job. iconic behaviour honestly π
gentype popcount(gentype x);
π¦ DESCRIPTION π¦
so popcount returns the number of non-zero bits in x. no cap, that's genuinely the entire description. it counts your ones and tells you how many there were π
π NOTES π
okay here's where it gets a lil more involved, stay with me π«Ά
Built-in integer functions take scalar or vector arguments. The vector versions of the integer functions operate component-wise. The description is per component.
We use the generic type name gentype to indicate that the function can take char, char{2|3|4|8|16}, uchar, uchar{2|3|4|8|16}, short, short{2|3|4|8|16}, ushort, ushort{2|3|4|8|16}, int, int{2|3|4|8|16}, uint, uint{2|3|4|8|16}, long, long{2|3|4|8|16}, ulong, or ulong{2|3|4|8|16} as the type for the arguments. We use the generic type name ugentype to refer to unsigned versions of gentype. For example, if gentype is char4, ugentype is uchar4. β¨
We also use the generic type name sgentype to indicate that the function can take a scalar data type i.e. char, uchar, short, ushort, int, uint, long, or ulong as the type for the arguments. For built-in integer functions that take gentype and sgentype arguments, the gentype argument must be a vector or scalar version of the sgentype argument. For example, if sgentype is uchar, gentype must be uchar or uchar{2|3|4|8|16}. For vector versions, sgentype is implicitly widened to gentype as described in section 6.3.a of the OpenCL specification. π
For any specific use of a function, the actual type has to be the same for all arguments and the return type unless otherwise specified. fr fr, don't mix and match, it will not slay π
β SPECIFICATION β
OpenCL Specification[1]
π SEE ALSO π
π 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 following condition:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Materials.
π NOTES (the footnote one, not the other one) π
- OpenCL Specification β page 256, section 6.12.3 - Integer Functions
and that's the whole page bestie!! π brought to you by The Khronos Group, dated 01/14/2021, filed under POPCOUNT(3clc) β go count some bits, you've got this π π¦β¨
π¦ 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