假设写一个对多项式求值的函数,这里,多项式的次数为n,系数为a0,a1,.. an.对于值x,我们对多项式求值,计算
a0十a1x+a2x2+ ...+ anxn (5.2)
这个求值可以用下面的函数来实现,参数包括一个系数数组a、值x和多项式的次数degree(等式(5.2)中的值n)。在这个函数的一个循环中,我们计算连续的等式的项,以及连续的x的幂:
a0十a1x+a2x2+ ...+ anxn (5.2)
这个求值可以用下面的函数来实现,参数包括一个系数数组a、值x和多项式的次数degree(等式(5.2)中的值n)。在这个函数的一个循环中,我们计算连续的等式的项,以及连续的x的幂:
double poly(double a[],doublo x,long degree){ long i; double result = a[0] ; double xpwr = x; /* Equals x^i at start of loop */ for (i=1;i<= degree; i++) { reault += a[i]; xpwr=x*xpwr; } return result; }
A.对于次数n,这段代码执行多少次加法和多少次乘法运算?
B.在我们的参考机上,算术运算的延迟如图5-12所示,我们测量了这个函数的CPE等于5.00。根据由于实现函数第7~8行的操作迭代之间形成的数据相关,解释为什么会得到这样的CPE。
B.在我们的参考机上,算术运算的延迟如图5-12所示,我们测量了这个函数的CPE等于5.00。根据由于实现函数第7~8行的操作迭代之间形成的数据相关,解释为什么会得到这样的CPE。