nmpp
Функции

Переупорядочивание элементов вектора по таблице. Подробнее...

Функции

void nmppsRemap_32u (nm32u *pSrcVec, nm32u *pDstVec, nm32s *pRemapTable, int nDstVecSize)
 
void nmppsRemap_8u (nm8u *pSrcVec, nm8u *pDstVec, nm32s *pRemapTable, int nSrcVecSize, int nDstVecSize, void *pTmpBuf1, void *pTmpBuf2)
 

Подробное описание

Переупорядочивание элементов вектора по таблице.

\[
    pDstVec[i]=pSrcVec[pRemapTable[i]],
\]

\[ i = \overline{0 \ldots nSize-1} \]

\~
Аргументы
pSrcVecВходной вектор.
pRemapTableТаблица новых индексов для переупорядочивания.
nDstVecSizeРазмер результирующего вектора в элементах.
pTmpBuf1Временный массив nm32u pTmpBuf1[nSrcVecSize].
pTmpBuf2Временный массив nm32u pTmpBuf2[nDstVecSize]. Результирующий вектор nm8u pDstVec[nDstVecSize].
Возвращает
void
// Функция
// void nmppsRemap_8u(nm8u* pSrcVec, nm8u* pDstVec, nm32s* pRemapTable, int nSrcVecSize, int nDstVecSize, void* pTmpBuf1, void* pTmpBuf2);
// выполняет следющие действия:
nmppsConvert_8u((nm8u*) pSrcVec, (nm32u*)pTmpBuf1,nSrcVecSize);
nmppsRemap_32u((nm32u*)pTmpBuf1,(nm32u*)pTmpBuf2,RemapTable,DstVecSize);
nmppsConvert_32s((nm32s*)pTmpBuf2,(nm8s*) pDstVec, DstVecSize);
unsigned char nm8u
Definition: nmtype.h:448
int nm32s
Definition: nmtype.h:292
unsigned int nm32u
Definition: nmtype.h:509
char nm8s
Definition: nmtype.h:167
Заметки
Возможность использования inplace параметров определяется исходя из последовательности процессов чтения/записи:
the folowing sequence of actions :
  • pSrcVec => pTmpBuf1 - inplace запрещен;
  • pTmpBuf1=>pTmpBuf2 - inplace запрещен;
  • pTmpBuf2=>pDstVec - inplace разрешен;