我有一個問題,在openCL中爲sincos函數將float8 var轉換爲double8。所以我已經嘗試了以下內容:在openCL中的明確鑄造
float8 a,b,c;
a = convert_float8(sin(convert_double8(a))); // worked
a = convert_float8(sincos(convert_double8(b),convert_double8(&c))); // failed
它會拋出一個openCL錯誤,說無法構建程序。起初我以爲sincos不會採用double8類型,但它也可以工作,如果我只是傳入double8 var,但是當我試圖將float8轉換爲double8時,它會像上面的代碼一樣失敗。
float8 a;
double8 b,c;
a = convert_float8(sincos((b),(&c))); //worked
有誰知道爲什麼/如何正確施放它?
謝謝。
我進行精密分析,這就是爲什麼我需要轉換的float8到double8然後回的float8的小費,並感謝,我會接受我的舊問題的一些答案。但回到主題,你有任何想法,爲什麼它不工作?這個例子很有意思,因爲這正是我需要執行的。 – overloading
第二個代碼塊中的代碼不會爲我編譯。 'sincos'需要兩個參數,你只提供一個參數。你確定這段代碼有效嗎? – reima
哦,對不起,這是我輸入它的錯誤。它應該是:a = convert_float8(sincos((b),(&c))); – overloading