So? Use intrinsics anyways.
Or __builtin_clz...
On 2009-12-07, at 10:07 PM, Timo Kreuzer wrote:
Because this is a host module.
Alex Ionescu wrote:
Well why this then? They should be intrinsics...
On 2009-12-07, at 8:43 PM, Timo Kreuzer wrote:
+unsigned char BitScanForward(ULONG * Index, unsigned long Mask) +{
- *Index = 0;
- while (Mask && ((Mask & 1) == 0))
- {
Mask >>= 1;++(*Index);- }
- return Mask ? 1 : 0;
+}
+unsigned char BitScanReverse(ULONG * const Index, unsigned long Mask) +{
- *Index = 0;
- while (Mask && ((Mask & (1 << 31)) == 0))
- {
Mask <<= 1;++(*Index);- }
- return Mask ? 1 : 0;
+}
Best regards, Alex Ionescu
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Best regards, Alex Ionescu