我对 c 还是很陌生,我似乎无法理解这一小段代码。
void daxpy(int N, double alpha, double *x, double *y)
y=alpha*x+y
for (i=0, i<N, i++)
y[1]=alpha*x[1]+y[1];
我似乎不知道 daxpy 函数在做什么,甚至不知道它的目的。我知道这可能不是很困难。任何帮助都感激不尽。这是我的笔记。我只是好奇它是什么。我知道像 daxpy 这样的显而易见的东西是一个函数调用。但只需要一个小小的解释
我对 c 还是很陌生,我似乎无法理解这一小段代码。
void daxpy(int N, double alpha, double *x, double *y)
y=alpha*x+y
for (i=0, i<N, i++)
y[1]=alpha*x[1]+y[1];
我似乎不知道 daxpy 函数在做什么,甚至不知道它的目的。我知道这可能不是很困难。任何帮助都感激不尽。这是我的笔记。我只是好奇它是什么。我知道像 daxpy 这样的显而易见的东西是一个函数调用。但只需要一个小小的解释
我认为实际的代码是这样的:
void daxpy(int N, double alpha, double *x, double *y)
{
for (int i = 0, i < N, i++)
y[i]= alpha * x[i] + y[i];
}
这是因为在查看您的代码时y = alpha * x + y
似乎没有意义。由于x
并且y
似乎是数组,它不应该那样工作。此外,下面的代码是一个循环,我认为它解释了它y = alpha * x + y
自己的语句。并且索引中的数字应该是i
而不是1
,因为它是从0
到的循环N
。放在那里没有意义1
。
所以这个函数调用基本上只是将数组的每个元素y
加上它的对应值x
乘以一个常量alpha
。