Rechercher une page de manuel
RtlExtendedMagicDivide.3w
Langue: en
Version: Jun 2009 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
NAME
RtlExtendedMagicDivide (NTDLL.@)SYNOPSIS
#define RtlExtendedMagicDivide( A )
DESCRIPTION
Allows replacing a division by a longlong constant with a multiplication by the inverse constant.
RETURNS
(dividend * inverse_divisor) >> (64 + shift).
NOTES
If the divisor of a division is constant, the constants inverse_divisor and shift must be chosen such that inverse_divisor = 2^(64 + shift) / divisor. Then we have RtlExtendedMagicDivide(dividend,inverse_divisor,shift) == dividend * inverse_divisor / 2^(64 + shift) == dividend / divisor.
The Parameter inverse_divisor although defined as LONGLONG is used as ULONGLONG.
IMPLEMENTATION
Defined in "winternl.h".
Implemented in "dlls/ntdll/large_int.c".
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre