Округление до ближайшего кратного
Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> «Округление» до ближайшего кратного
Функция возвращает ближайшее к Value число, которoе без
остатка делится на N. Если Value находится посередине
между двумя кратными, функция вернёт большее значение.
Зависимости: нет
Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright: Dimka Maslov
Дата: 20 февраля 2003 г.
***************************************************** }
function RoundTo(Value, N: Integer): Integer;
asm
push ebx
mov ebx, eax
mov ecx, edx
cdq
idiv ecx
imul ecx
add ecx, eax
mov edx, ebx
sub ebx, eax
jg @@10
neg ebx
@@10:
sub edx, ecx
jg @@20
neg edx
@@20:
cmp ebx, edx
jl @@30
mov eax, ecx
@@30:
pop ebx
end;
|