Why should I bother reimplementing the intrinsics yet another time for
different compilers in host headers? and what about compiling on a
non-x86 linux machine? This code is portable and serves it's pupose very
well.
Or are you seriously concerned about the performance?


Alex Ionescu schrieb:
> 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
>>> [email protected]
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>>>
>>>
>>>       
>> _______________________________________________
>> Ros-dev mailing list
>> [email protected]
>> http://www.reactos.org/mailman/listinfo/ros-dev
>>     
>
> Best regards,
> Alex Ionescu
>
>
> _______________________________________________
> Ros-dev mailing list
> [email protected]
> http://www.reactos.org/mailman/listinfo/ros-dev
>
>   


_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to