куча SmallInt'ов, над ними надо произвести операцию K*X + B, где K и B известные константы. на выходе получим float'ы которые опять же округлим до SmallInt'ов.
Эту часть я сделал с применением SSE.
Теперь надо для этих данных составить гистограмму. Т.е. где то есть массив SmallInt'ов с границами -32767..32768 и надо пройти по всему массиву полученному на первом этапе и для каждого элемента инкрементировать соответствующий ему элемент в массиве гистограммы. Примерно так:
for i := 0 to High(Data) do
Hist[Data[i]] := Hist[Data[i]] + 1;
Как эту часть оптимизировать с применением SSE я не пойму, может подскажете в каком направлении копать?
Ты адепт делфи что ль?
Обсуждают сегодня