Files
UnrealEngine/Engine/Source/ThirdParty/Intel/ISPC/ispc-1.19.0/tests/popcnt-1.ispc
2025-05-18 13:04:45 +08:00

21 lines
444 B
Plaintext

#include "../test_static.isph"
task void f_f(uniform float RET[], uniform float aFOO[]) {
float a = aFOO[programIndex];
RET[programIndex] = popcnt((int)a);
}
static int manualpc(int v) {
int count = 0;
while (v != 0) {
if (v & 1)
++count;
v >>= 1;
}
return count;
}
task void result(uniform float RET[]) {
assert(programCount <= 64);
RET[programIndex] = manualpc(programIndex+1);
}