Вниз
Скачать: CL | DM;

Как часть одного массива скопировать в другой массив?   Найти похожие ветки 

 
jjoiner   (2004-03-06 19:02) [0]

Что б по быстрому…

Пример,

var
 a : array [0..127,0..127] of Integer;
 b : array [0..15,0..15] of Integer;
 x,
 y : Integer;

begin
for x := 0 to High(b) do
for y := 0 to High(b[0]) do
b[x,y] := a[x+64,y+64];
end;


мне нужен код, если возможно, работающий быстрей…


 
Sanek ©   (2004-03-06 20:41) [1]

по другому в твоем примере по моему и не получиться . .
Если только на ASM попробовать, если это того стоит


 
Гаврила   (2004-03-06 20:58) [2]

>>Sanek ©   (06.03.04 20:41) [1]
все таки компилятор у нас достаточно умный
так что велика вероятность, что написанный собственноручно ASM - код будет работать медленее, чем предложенный компилятором вариант


 
YurikGl ©   (2004-03-06 21:07) [3]

По моему можно сделать указатель на нужный элемент массива, считать оттуда память в одно переменную длинной ... байт а потом аналогичным образом записать. Может даже быстрее будет.


 
Sanek ©   (2004-03-06 21:17) [4]

Я тоже сначала хотел предложить использовать процедуру Move, но конкретный пример привести сложно.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
4-1073743323
volser
2004-01-10 17:02
2004.03.28
Перехват вставки


1-1078392457
Семен Сорокин
2004-03-04 12:27
2004.03.28
Алгоритм сжатия TStream


3-1077912152
jafar
2004-02-27 23:02
2004.03.28
Передача параметра типа TDaateTime в TADOQuery


8-1069701427
g-l-u-k
2003-11-24 22:17
2004.03.28
Регистрация расширения


1-1078412195
Aleksandr
2004-03-04 17:56
2004.03.28
В программе некоторые потомки TList перестали добавлять объекты!




   Наверх