DSP 常用內聯函數說明及使用(持續更新)

1. _amemd8  數據以8byte對齊(讀或存)

例:原數據長度爲32-Bit(4byte),在內存中的數據dataIn依次爲

A:01000100110100100111100110011010  

B:01000100011111001101001100110011

令C= _amemd8((void*)(dataIn+i))

則C爲:0100010001111100110100110011001101000100110100100111100110011010

 

2. _ftod Create a double from 2 floats

例:原數據float型變量c爲1.5,二進制爲:

00111111110000000000000000000000

令temp = _ftod(c , c)

則,temp爲:

0011111111000000000000000000000000111111110000000000000000000

000

3. _dmpysp __float2_t _dmpysp (__float2_t src1, __float2_t src2);

例:若B=_dmpysp (CD,EF),其中CD爲8byte,C D爲4byte,EF亦然,則B的值相當於(C*E)(D*F)

4. _hif 將32-Bit double型數據轉化爲16-Bit float型【取高位】

5. _lof 將32-Bit double型數據轉化爲16-Bit float型【取低位】

6. void _nassert (int src); 不生成代碼,告訴優化器一些事情

例:_nassert(nx % 4 == 0); 告訴優化器,nx是4的整數倍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章