[ros-dev] Please FIX: Wrong prototype and implementation in Rtl

Filip Navara xnavara at volny.cz
Sun Mar 20 00:14:13 CET 2005


Oliver Schneider wrote:

>.\lib\rtl\largeint.c
>
>There's a sutraction performed in your implementation. But actually it's a
>logical negation (asm -> NEG; C -> ~) in this function of the low and high
>part:
>
>RtlLargeIntegerNegate()
>  
>
The implementation is actually correct... you can try it yourself:

   LARGE_INTEGER Test;

   Test.LowPart = Test.HighPart = 24;
   Test = RtlLargeIntegerNegate(Test);
   printf("%x %x\n", Test.LowPart, Test.HighPart);

The native implementation uses NEG + *SBB*.

- Filip


More information about the Ros-dev mailing list