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
Did you mean:
Highlighted
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)