nmpp
vInit.h
1
2// Векторно-матричная библиотека
3//
4// Copyright (c) RC Module Inc.
5//
6// $Revision: 1.1 $ $Date: 2004/11/22 13:50:02 $
7//
16//------------------------------------------------------------------------
17#ifndef _VINIT_H_INCLUDED_
18#define _VINIT_H_INCLUDED_
19
20
21#ifdef __cplusplus
22 extern "C" {
23#endif
24
72
73void nmppsSet_8s ( int8b val, nm8s* pDst, int len);
74void nmppsSet_16s ( int16b val, nm16s* pDst, int len);
75void nmppsSet_32s ( int32b val, nm32s* pDst, int len);
76void nmppsSet_64s ( int64b val, nm64s* pDst, int len);
77void nmppsSet_64sc(int64sc val, nm64sc* pDst, int len);
78//void nmppsSet_64sp( int64b* pVal,nm64s* pDst, int len);
79//__INLINE__ void nmppsSet_64s(nm64s* pDst, int64b val, int len) {nmppsSet_64sp((nm64s*) pDst, (int64b*)&val, len);}
80
81__INLINE__ void nmppsSet_8u ( uint8b val, nm8u* pDst, int len) {nmppsSet_8s ( (int8b)val, (nm8s*) pDst, len);}
82__INLINE__ void nmppsSet_16u(uint16b val, nm16u* pDst, int len) {nmppsSet_16s((int16b)val, (nm16s*) pDst, len);}
83__INLINE__ void nmppsSet_32u(uint32b val, nm32u* pDst, int len) {nmppsSet_32s((int32b)val, (nm32s*) pDst, len);}
84__INLINE__ void nmppsSet_64u(uint64b val, nm64u* pDst, int len) {nmppsSet_64s((int64b)val, (nm64s*) pDst, len);}
85
86//__INLINE__ void nmppsSet_16sc (nm16sc val, nm16sc* pDst, int len);
87//__INLINE__ void nmppsSet_32sc (nm32sc val, nm32sc* pDst, int len);
88
89
90//__INLINE__ void nmppsSet_64up(nm64u* pDst, uint64b* val, int len){nmppsSet_64sp((nm64s*) pDst, (int64b*)val, len);}
91
92
94
95
96//*****************************************************************************
97
128
133//void nmppsRandUniform_32u(nm32u* pDstVec, int nSize, unsigned nRandomize );
134void nmppsRandUniform_64s(nm64s* pDstVec, int nSize);
135__INLINE__ void nmppsRandUniform_8s (nm8s* pDstVec, int nSize) {nmppsRandUniform_64s((nm64s*)pDstVec, nSize>>3);}
136__INLINE__ void nmppsRandUniform_16s(nm16s* pDstVec, int nSize) {nmppsRandUniform_64s((nm64s*)pDstVec, nSize>>2);}
137__INLINE__ void nmppsRandUniform_32s(nm32s* pDstVec, int nSize) {nmppsRandUniform_64s((nm64s*)pDstVec, nSize>>1);}
138__INLINE__ void nmppsRandUniform_8u (nm8u* pDstVec, int nSize) {nmppsRandUniform_64s((nm64s*)pDstVec, nSize>>3);}
139__INLINE__ void nmppsRandUniform_16u(nm16u* pDstVec, int nSize) {nmppsRandUniform_64s((nm64s*)pDstVec, nSize>>2);}
140__INLINE__ void nmppsRandUniform_32u(nm32u* pDstVec, int nSize) {nmppsRandUniform_64s((nm64s*)pDstVec, nSize>>1);}
141__INLINE__ void nmppsRandUniform_64u(nm64u* pDstVec, int nSize) {nmppsRandUniform_64s((nm64s*)pDstVec, nSize );}
142
143//__INLINE__ void nmppsRandUniform_64s(nm64s* pDstVec, int nSize, unsigned nRandomize = 1) {nmppsRandUniform_32u((nm32u*)pDstVec, nSize<<1, nRandomize);}
144
153
154
155 //*****************************************************************************
156
191void nmppsRandUniform_64f(nm64f* pDstVec, int nSize, double low, double hi);
192void nmppsRand_32f(nm32f* pDstVec, int nSize,float low,float hi);
193
194void nmppsRandUniform_32f_integer(nm32f *pDstVec,int nSize,int hi,int low);
195
197
198
199//*****************************************************************************
200
253int nmppsRandUniform2_32s(int nMin, int nMax, int nDivisible);
254int nmppsRandUniform3_32s(int nMin, int nMax);
255int nmppsRandUniform();
256
258
259
260//*****************************************************************************
261
328void nmppsRamp_8s(nm8s* pVec, int8b nOffset, int8b nSlope, int nSize);
329void nmppsRamp_16s(nm16s* pVec, int16b nOffset, int16b nSlope, int nSize);
330void nmppsRamp_32s(nm32s* pVec, int32b nOffset, int32b nSlope, int nSize);
331void nmppsRamp_64s(nm64s* pVec, int64b nOffset, int64b nSlope, int nSize);
333
334//*****************************************************************************
335
389 //todo Impelenment NM versin of void nmppsConvert_32s(nm32s *pSrcVec, nm4s *pDstVec, int nSize);
391
395void nmppsConvert_1s2s (const nm1* pSrcVec, nm2s* pDstVec, int nSize);
399void nmppsConvert_1u2u (const nm1* pSrcVec, nm2u* pDstVec, int nSize);
400void nmppsConvert_1u4u (const nm1* pSrcVec, nm4u* pDstVec, int nSize);
401
402void nmppsConvert_2s1s (const nm2s* pSrcVec, nm1* pDstVec, int nSize);
403void nmppsConvert_2s4s (const nm2s* pSrcVec, nm4s* pDstVec, int nSize);
404void nmppsConvert_2u4u (const nm2u* pSrcVec, nm4u* pDstVec, int nSize);
405
406void nmppsConvert_4s1s (const nm4s* pSrcVec, nm1* pDstVec, int nSize);
407void nmppsConvert_4s2s (const nm4s* pSrcVec, nm2s* pDstVec, int nSize);
408void nmppsConvert_4s8s (const nm4s* pSrcVec, nm8s* pDstVec, int nSize);
409void nmppsConvert_4u8u (const nm4u* pSrcVec, nm8u* pDstVec, int nSize);
410
411void nmppsConvert_8s4s (const nm8s* pSrcVec, nm4s* pDstVec, int nSize);
412void nmppsConvert_8s16s (const nm8s* pSrcVec, nm16s* pDstVec, int nSize);
413void nmppsConvert_8s32s (const nm8s* pSrcVec, nm32s* pDstVec, int nSize);
414void nmppsConvert_8s64s (const nm8s* pSrcVec, nm64s* pDstVec, int nSize);
415void nmppsConvert_8u16u (const nm8u* pSrcVec, nm16u* pDstVec, int nSize);
416void nmppsConvert_8u32u (const nm8u* pSrcVec, nm32u* pDstVec, int nSize);
417void nmppsConvert_8u64u (const nm8u* pSrcVec, nm64u* pDstVec, int nSize);
418
419void nmppsConvert_16s4s (const nm16s* pSrcVec, nm4s* pDstVec, int nSize);
420void nmppsConvert_16s8s (const nm16s* pSrcVec, nm8s* pDstVec, int nSize);
421void nmppsConvert_16s32s(const nm16s* pSrcVec, nm32s* pDstVec, int nSize);
422void nmppsConvert_16s64s(const nm16s* pSrcVec, nm64s* pDstVec, int nSize);
423void nmppsConvert_16u32u(const nm16u* pSrcVec, nm32u* pDstVec, int nSize);
424void nmppsConvert_16u64u(const nm16u* pSrcVec, nm64u* pDstVec, int nSize);
425
426void nmppsConvert_32s8s (const nm32s* pSrcVec, nm8s* pDstVec, int nSize);
427void nmppsConvert_32s16s(const nm32s* pSrcVec, nm16s* pDstVec, int nSize);
428void nmppsConvert_32s64s(const nm32s* pSrcVec, nm64s* pDstVec, int nSize);
429void nmppsConvert_32u64u(const nm32u* pSrcVec, nm64u* pDstVec, int nSize);
430
431void nmppsConvert_64s32s(const nm64s* pSrcVec, nm32s* pDstVec, int nSize);
432void nmppsConvert_64s16s(const nm64s* pSrcVec, nm16s* pDstVec, int nSize);
433
435//void nmppsConvert_32s(nm32s *pSrcVec, nm4s *pDstVec, int nSize);
436
437
438//*****************************************************************************
439
476void nmppsConvert_32u32fcr(const nm32u* pSrcVec, nm32fcr* pDstVec, int nSize);
477void nmppsConvert_32s32fcr(const nm32s* pSrcVec, nm32fcr* pDstVec, int nSize);
478void nmppsConvert_32f32fcr(const nm32f* pSrcVec, nm32fcr* pDstVec, int nSize);
479void nmppsConvert_32sc32fcr(const nm32sc* pSrcVec, nm32fcr* pDstVec, int nSize);
480void nmppsConvert_32s32f(const nm32s* pSrcVec, nm32f* pDstVec, int nSize);
481void nmppsConvert_32f64f(const nm32f* pSrcVec, nm64f* pDstVec, int nSize);
482void nmppsConvert_64f32f(const nm64f* pSrcVec, nm32f* pDstVec, int nSize);
484
511void nmppsConvert_32f32s_rounding(const nm32f* pSrcVec, nm32s* pDstVec, int scale, int nSize);
512void nmppsConvert_32f32f_ceiling (const nm32f* pSrcVec, nm32f* pDstVec, int scale, int nSize);
513void nmppsConvert_32f32s_ceiling (const nm32f* pSrcVec, nm32s* pDstVec, int scale, int nSize);
514void nmppsConvert_32f32s_floor (const nm32f* pSrcVec, nm32s* pDstVec, int scale, int nSize);
515void nmppsConvert_32f32s_truncate(const nm32f* pSrcVec, nm32s* pDstVec, int scale, int nSize);
517
543void nmppsMerge_32f(const nm32f* pSrcVec1, const nm32f* pSrcVec2, nm32f* pDstVec, int nSize);
545
568void nmppsConvertRisc_8u32u(const nm8u* pSrcVec, nm32u* pDstVec, int nSize);
569void nmppsConvertRisc_32u8u(const nm32u* pSrcVec, nm8u* pDstVec, int nSize);
571
572//*****************************************************************************
573
619
620void nmppsCopy_2s (const nm2s* pSrcVec, nm2s* pDstVec, int nSize);
621void nmppsCopy_4s (const nm4s* pSrcVec, nm4s* pDstVec, int nSize);
622void nmppsCopy_8s (const nm8s* pSrcVec, nm8s* pDstVec, int nSize);
623void nmppsCopy_16s(const nm16s* pSrcVec, nm16s* pDstVec, int nSize);
624void nmppsCopy_32s(const nm32s* pSrcVec, nm32s* pDstVec, int nSize);
625void nmppsCopy_64s(const nm64s* pSrcVec, nm64s* pDstVec, int nSize);
626
627__INLINE__ void nmppsCopy_4u (const nm4u* pSrcVec, nm4u* pDstVec, int nSize) { nmppsCopy_4s (( nm4s*) pSrcVec, (nm4s*) pDstVec, nSize);}
628__INLINE__ void nmppsCopy_8u (const nm8u* pSrcVec, nm8u* pDstVec, int nSize) { nmppsCopy_8s (( nm8s*) pSrcVec, (nm8s*) pDstVec, nSize);}
629__INLINE__ void nmppsCopy_16u(const nm16u* pSrcVec, nm16u* pDstVec, int nSize) { nmppsCopy_16s(( nm16s*) pSrcVec, (nm16s*) pDstVec, nSize);}
630__INLINE__ void nmppsCopy_32u(const nm32u* pSrcVec, nm32u* pDstVec, int nSize) { nmppsCopy_32s(( nm32s*) pSrcVec, (nm32s*) pDstVec, nSize);}
631__INLINE__ void nmppsCopy_64u(const nm64u* pSrcVec, nm64u* pDstVec, int nSize) { nmppsCopy_64s(( nm64s*) pSrcVec, (nm64s*) pDstVec, nSize);}
632__INLINE__ void nmppsCopy_64sc(const nm64sc *pSrcVec, nm64sc *pDstVec, int nSize) { nmppsCopy_64s(( nm64s*) pSrcVec, (nm64s*) pDstVec, 2*nSize);}
634
635
668void nmppsCopy_32f(const float* pSrcVec, float* pDstVec, int size);
670
688void nmppsCopyOddToOdd_32f(const float* pSrcVec, float* pDstVec, int size);
690
708void nmppsCopyEvenToOdd_32f(const float* pSrcVec, float* pDstVec, int size);
710
711
729void nmppsCopyOddToEven_32f(const float* pSrcVec, float* pDstVec, int size);
731
732
750void nmppsCopyEvenToEven_32f(const float* pSrcVec, float* pDstVec, int size);
752
753
776void nmppsCopyRisc_32f(const float* pSrcVec, float* pDstVec, int nSize);
778
779//*****************************************************************************
780
845void nmppsCopyua_8s(const nm8s* pSrcVec, int nSrcOffset, nm8s* pDstVec, int nSize);
847
848//*****************************************************************************
849
890void nmppsSwap_64s(nm64s* pSrcVec1, nm64s* pSrcVec2, int nSize);
892
893
894
895
896#ifdef __cplusplus
897 };
898#endif
899
900#endif // _INIT_H_INCLUDED_
void nmppsConvert_1u2u(const nm1 *pSrcVec, nm2u *pDstVec, int nSize)
void nmppsConvert_1s2s(const nm1 *pSrcVec, nm2s *pDstVec, int nSize)
void nmppsRandUniform_64s(nm64s *pDstVec, int nSize)
unsigned int uint32b
Definition: nmtype.h:839
int int8b
Definition: nmtype.h:618
unsigned int uint16b
Definition: nmtype.h:813
int int32b
Definition: nmtype.h:683
unsigned int uint8b
Definition: nmtype.h:787
int int16b
Definition: nmtype.h:644
INT64 int64b
Definition: nmtype.h:709
nm64u uint64b
Definition: nmtype.h:865
unsigned char nm8u
Definition: nmtype.h:448
int nm32s
Definition: nmtype.h:292
void nm4u
Definition: nmtype.h:417
unsigned short nm16u
Definition: nmtype.h:481
long long nm64s
Definition: nmtype.h:375
void nm2s
Definition: nmtype.h:116
void nm2u
Definition: nmtype.h:404
int nm1
Definition: nmtype.h:100
short nm16s
Definition: nmtype.h:243
unsigned int nm32u
Definition: nmtype.h:509
void nm4s
Definition: nmtype.h:129
unsigned long long nm64u
Definition: nmtype.h:536
char nm8s
Definition: nmtype.h:167
Definition: nmtype.h:1335
Definition: nmtype.h:1301
Definition: nmtype.h:1364