您可能想查看多精度乘法中使用的 Toom-3 算法。参考:Toom-Cook 乘法。
基本上,您只使用加法和移位来评估 x=-2,-1,0,+1,infinity 处的每个多项式,然后将这 5 个值相乘以获得 x=-2,-1,0 处的乘积值, +1,无穷大。最后一步是返回结果的系数。
对于P(X) = A*X^2 + B*X + C
x=-2,-1,0,+1,infinity 处的值是:
P(-2) = 4*A - 2*B + C (the products here are bit shifts)
P(-1) = A - B + C
P( 0) = C
P(+1) = A + B + C
P(oo) = A
产品R(X) = T*X^4 + U*X^3 + V*X^2 + W*X + K
,其值为:
R(-2) = 16*T - 8*U + 4*V - 2*W + K
R(-1) = T - U + V - W + K
R( 0) = K
R(+1) = T + U + V + W + K
R(oo) = T
你知道R(x) = P(x)*Q(x)
x=-2,-1,0,+1,infinity 的值,你必须求解这个线性系统才能得到系数 T,U,V,W,K。