我需要 cuda 中的一个函数来接收一个字符数组,如果它们匹配,该函数将返回一个值,但是当我测试此代码时,总是返回 0,就像这些条件都不匹配一样。到目前为止我尝试过这个:
__device__ float operate_1(float num, char func[]) {
if(func[0] == 's' && func[1] == 'i' && func[2] == 'n' )
return sinf(num * PI/180.0);
else if(func[0] == 'c' && func[1] == 'o' && func[2] == 's' )
return cosf(num * PI/180.0);
else if(func[0] == 'l' && func[1] == 'o' && func[2] == 'g' )
return logf(num);
else if(func[0] == 'e')
return expf (num);
return 0; }
//evaluates an operator.
Run Code Online (Sandbox Code Playgroud)
这段代码也是如此,但不像前一个那样工作。
__device__ float operate_1(float num, char func[]) { …Run Code Online (Sandbox Code Playgroud)