2012-08-30 159 views
4

所以我有一個openCL程序,其中一些變量在float2中,一些在double2中。我想要對這些變量進行上傳或下調,但我不知道如何去做。我試圖明確地轉換它,就像我通常爲float和double做的那樣,但它不起作用。將float2轉換爲double2,反之亦然

float2 a,b; 
double2 c,d; 

a = (float2)(c+d); //didnt work 
a = float2(c+d); //didnt work 

也許我不理解的類型「FLOAT2」和「double2」,可能有人告訴我如何施展他們的才能正常工作?

在此先感謝。

回答

4

floatn和doublen類型族表示值的向量(在你的情況下它們有2個成員)。 C風格轉換不適用於它們。

還有就是,對於看起來像這樣的載體轉化工作函數族:

convert_float2(vec2) 

然而,閱讀文檔here它看起來像轉換自/至double2不支持。這讓您可以選擇手動執行轉換:

a.x = float(c.x + d.x); 
a.y = float(c.y + d.y); 
相關問題