Показать сообщение отдельно
  #1  
Старый 19.03.2018, 09:13
igor74 igor74 вне форума
Прохожий
 
Регистрация: 08.06.2011
Адрес: Екатеринбург
Сообщения: 11
Версия Delphi: Delphi 2010
Репутация: -625
По умолчанию Как отбросить дробную часть

Всем привет!

Пишу графику и мне в расчётах нужно отбрасывать дробную часть переводя в целое.

Так вот Trunc работает в два раза дольше чем Round. Время для меня очень критично, поэтому ищу варианты решения данной задачи.

Ассемблерные вставки не помогают или я делаю что то не так...

У кого есть какие идеи?

Вот код:
Код:
  dx := w1 / w2;
  dy := h1 / h2;

  for y := 0 to h2 - 1 do
  begin
   yp := Trunc(y * dy);
   ypw1 := yp * w1;
   yw2 := y * w2;
   for x := 0 to w2 - 1 do
    begin
      xp := Trunc(x * dx);
      col := ypw1 + xp;
      Mem2[yw2 + x] := Mem1[col];
    end;
  end;
Ответить с цитированием