UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Newbie aniruddhm93
Newbie
7,930 Views
Registered: ‎09-21-2015

error: call to 'dot' is ambiguous

Hello, I am getting this error.

 

error: call to 'dot' is ambiguous

 

I am trying to implement 8 point FFT in Vivado HLs using OpenCL.

 

I am using the Vivado 2015.2 (30 Days evaluation version).

 

My code :- Kernel Code (Source Code) is this :-

-----------------------------------------------------------------------------------------

 

//8 point fft kernel code
//8 point fft kernel code

# include <clc.h>

__kernel __attribute__((reqd_work_group_size(1,2,2))) void fft(__global int* Y,int N,__global int* Y3)
{ int i;
int twiddleFactors1[8];
int twiddleFactors2[8];
int Y1[16],Y2[16];

for( i= 0;i<N/2;i++)
{
Y1[2*i] = Y[2*i] + Y[2*i+1];
Y1[2*i+1] = Y[2*i] - Y[2*i+1];

}


int j = get_global_id(1);
Y1[2*j] = Y[2*j] + Y[2*j+1];
Y1[2*j+1] = Y[2*j] - Y[2*j+1];

float param1 = - 3.14159265359f * 2 * (2*j) / (int)N;
float c1, s1 = sincos(param1, &c1);

twiddleFactors1[2*j] = (int)(c1, -s1);
twiddleFactors2[2*j] = (int)(s1, c1);

float param2 = - 3.14159265359f * 2 * (2*j+1) / (int)N;
float c2, s2 = sincos(param2, &c2);

twiddleFactors1[2*j+1] = (int)(c2, -s2);
twiddleFactors2[2*j+1] = (int)(s2, c2);

 

for ( i=0; i<2; i++)

{
{
Y2[j+i*N/2] = Y1[j+(i*4)] + (int2)( dot(Y1[j+(i*4)+2],twiddleFactors1[2*j]),dot(Y1[j+(i*4)+2],twiddleFactors2[2*j]));
Y2[j+2+i*N/2] = Y1[j+(i*4)] - (int2)( dot(Y1[j+(i*4)+2],twiddleFactors1[2*j]),dot(Y1[j+(i*4)+2],twiddleFactors2[2*j])); }


}

{
int m = get_global_id(2);
for ( i=0; i<2; i++)
{
{
Y3[m+i*2] = Y2[m+i*2] + (int2)( dot(Y2[m+i*2+4],twiddleFactors1[m+i*2]),dot(Y2[m+i*2+4],twiddleFactors2[m+i*2]));
Y3[m+i*2+4] = Y2[m+i*2] - (int2)( dot(Y2[m+i*2+4],twiddleFactors1[m+i*2]),dot(Y2[m+i*2+4],twiddleFactors2[m+i*2]));
}


}


}
}

Tags (3)
0 Kudos