1. 程式人生 > >Intel FFT library 6.0與10.0的區別

Intel FFT library 6.0與10.0的區別

10.0的話,語法有相當大的改變,此外相對於6.0在做IFFT的時候還要提前設定scale因子,一般為1/n.

1.   在6.0中,申請3*n大小的變數wsave,然後進行傅立葉變換即可:

      CFFT1DC(rr, ri, n, 0, wsave);
      CFFT1DC(rr, ri, n, isign, wsave);  //isign =-1為FFT, isign = 1為 IFFT

2.  在10.0中,傅立葉變換的步驟是

  1) 變數名稱,mkl_float_complex*

  2)/* Create Dfti descriptor for 1D single precision  transform
*/
Status = DftiCreateDescriptor( &Desc_Handle, DFTI_SINGLE,
DFTI_COMPLEX, 1, n );

  3)/*   Commit Dfti descriptor
*/
Status = DftiCommitDescriptor( Desc_Handle );
if(! DftiErrorClass(Status, DFTI_NO_ERROR)){
dfti_example_status_print(Status);
printf(" TEST FAIL\n"); goto FREE_DESCRIPTOR;
}

   4)/*   Compute Forward transform
*/

Status = DftiComputeForward( Desc_Handle, x_in);
if(! DftiErrorClass(Status, DFTI_NO_ERROR)){
dfti_example_status_print(Status);
printf(" TEST FAIL\n"); goto FREE_DESCRIPTOR;
}

   5)/*   Set Scale number for Backward transform
*/
Scale = 1.0/(float)n;
Status = DftiSetValue(Desc_Handle, DFTI_BACKWARD_SCALE, Scale);
if(! DftiErrorClass(Status, DFTI_NO_ERROR)){
dfti_example_status_print(Status);
printf(" TEST FAIL\n"); goto FREE_DESCRIPTOR;
}

   6)/*
/   Commit Dfti descriptor
*/
Status = DftiCommitDescriptor( Desc_Handle );
if(! DftiErrorClass(Status, DFTI_NO_ERROR)){
dfti_example_status_print(Status);
printf(" TEST FAIL\n"); goto FREE_DESCRIPTOR;
}
/*
/   Compute Backward transform
*/
printf("\n Compute DftiComputeBackward\n\n");
Status = DftiComputeBackward( Desc_Handle, x_in);
if(! DftiErrorClass(Status, DFTI_NO_ERROR)){
dfti_example_status_print(Status);
printf(" TEST FAIL\n"); goto FREE_DESCRIPTOR;
}

   7)釋放描述器資源

       Status = DftiFreeDescriptor(&Desc_Handle);
if(! DftiErrorClass(Status, DFTI_NO_ERROR)){
dfti_example_status_print(Status);
printf(" TEST FAIL\n");
}

相關推薦

Intel FFT library 6.010.0區別

10.0的話,語法有相當大的改變,此外相對於6.0在做IFFT的時候還要提前設定scale因子,一般為1/n. 1.   在6.0中,申請3*n大小的變數wsave,然後進行傅立葉變換即可:       CFFT1DC(rr, ri, n, 0, wsave);     

Jedis 2.9.1、2.10.0 3.0.0 釋出,Redis 的 Java 客戶端

   Jedis 2.9.1、2.10.0 與 3.0.0 釋出了,Jedis 是 Redis 的 Java 客戶端,它易於使用,與 Redis 2.8.x 和 3.x.x 完全相容。 2.9.1 與 2.10.0 更新: JedisCluster 掃描 bug 修復&nb

Spring REST Docs 1.2.6.RELEASE 2.0.3.RELEASE 釋出

   Spring REST Docs 1.2.6.RELEASE 與 2.0.3.RELEASE 釋出了,Spring REST Docs 是 RESTful 服務的測試驅動文件,使用 Asciidoctor 手工編寫內容結合使用 Spring MVC Test 框架自動生成

windows10+Python3.6+Anaconda3+tensorflow1.10.0配置和安裝

type 表示 col ror form ota nump user orm windows10+Python3.6+Anaconda3+tensorflow1.10.0# Anaconda3安裝自行下載安裝,之後dos或Anaconda Prompt終端查看Anacond

vue1.0 Vue2.0的一些區別 及用法

alert 支持 troy body 模板 標記 title ava pla 1.Vue2.0的模板標記外必須使用元素包起來; eg:Vue1.0的寫法 <!DOCTYPE html> <html> <head> <meta

UiAutomator1.0 UiAutomator2.0

developer clas 之前 logcat -s obj 自動 evel 進行   在使用2.0之前,對android自動化框架也做過一些了解《Android 自動化測試框架》。使用UiAutomator2.0也有一段時間,這裏將1.0與2.0進行一個對比總結。

python中,a=10.0 b=10.0 a is b 為什麽輸出是false

als 實現 比較 說明 col python 浮點數 變量 lse >>>a=10.0>>>b=10.0>>>a is bFalse為什麽當a=10,b=10時,a is b輸出的是True呢? >>&

微服務1.02.0

微服務1.0時代 Dubbo本質上只能算是一個服務治理框架,而不能算是一個微服務框架。雖然在未來的Dubbo 3.0中會提供對Spring Cloud,以及對Service Mesh的支援,但是單憑Dubbo仍然是無法搭建一個完整的微服務體系結構。Spring Cloud則是通過整合眾多的元件的形式實現了相

position:fixed的top:0bottom:0配合的妙用(固定導航欄)

幾乎每個專案都會有導航欄,橫向的導航欄定位在頂部很常見也很好實現,但是側邊的導航欄也不少,實現起來相對沒那麼容易,主要是側邊導航欄的高度問題,我最開始製作側邊導航欄是,當導航欄內容不夠整屏高度時,導航欄高度就會缺失。 我第一想法是js動態賦值高度及min-height的

關於IBM MQ6.0MQ8.0的通訊問題

在網路,業務,業務量都沒有增長的情況下,MQ8的批量傳送通道突然就掛掉了,變成retrying狀態了,訊息全都堵在傳輸佇列裡了,死信佇列無訊息。實時通道正常,排除網路原因導致的通道問題。採取的措施有簡單的重置通道,通道狀態沒變化,然後進行 STOP CHANN

判斷語句內 i=0 i==0區別

int MainPageDemo() {     int ch;     scanf("%d",&ch);     return ch; } int main() {     int *p;   &

Cocos2d-2.01.0版本的一些差異

剛剛學習Cocos2d,遇到某個差異就紀錄下! 1、設定螢幕方向 V1.0中:[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationLandscapeLeft]; V2.0中:在AppDe

從讀取視訊程式比較opencv1.02.0以上版本

opencv入門的那本經典教材《學習opencv》上關於讀取視訊程式碼是基於1.0版本寫的,筆者在2.4.9版本上改寫了一下。 //《學習opencv》基於1.0版本讀取視訊原始碼 #include"highgui.h" int main(int argc, char**argv) { cv

ubuntu 同時安裝cuda8.0cuda9.0,cuda9.1

部分程式碼需要cuda8.0,部分需要cuda9.0 於是萌生了同時安裝2個版本的想法。0 前提:ubuntu 16.04. x86_64已經安裝 cuda 8.0:nvcc –version nvcc: NVIDIA (R) Cuda compiler driver Cop

C++中return 0;return;的區別

return語句有兩種形式:1.return;//不帶返回值的return語句2.return 0;//帶返回值的return語句,或者返回一個變數或一個函式。不帶返回值的return語句用於,中斷返回值為void型別的函式的執行,而帶返回值的return則不行。使用retu

C語言中的 (void*)0 (void)0

前幾天看到一個巨集, 它大概是這樣的:    #define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)__FILE__, __LINE__))  程式碼的含意簡單, 關鍵是那個 (void)0 的用法, 我還是第一次見到(別笑).

android system.exist(0)finish()的區別

system.exist(0)與finish()的區別,在這裡由於理解不深,只是簡單說一下它倆個應用後的不同效果: finish():用於銷燬掉當前activity,如果該activity是root activity of stack,finish()後雖然會

AFN3.02.0分別做了哪些處理

AFN2.0: 1.對NSURLSession的封裝,2.對AFURLConnection的封裝,3.對HTTPS網路安全請求做了一個包裝,4.做了一個網路連線管理的一個包裝, AFN3.0: 1&g

HTTP協議和URL講解以及HTTP1.0HTTP1.1區別

全球資訊網  WWW 全球資訊網使用統一資源定位符URL來標誌全球資訊網上的各種文件,且每一個文件在整個因特網的範圍內具有唯一的識別符號 URL。 全球資訊網客戶程式和伺服器程式之家遵守的協議就是超文字傳送協議HTTP。它使用TCP連線進行可靠的傳送。 全球資訊網使用超

php 5.0 7.0有什麼區別新增加匿名類。

效能提升:PHP7比PHP5.6效能提升了兩倍。 全面一致的64位支援。 以前的許多致命錯誤,現在改成丟擲異常。 移除了一些老的不在支援的SAPI(伺服器端應用程式設計埠)和擴充套件。 新增了空接合操作符。 新增加了結合比較運算子。 新增加了函式的返回型別宣告。 新增加