fn dotHat(comptime len: u8, a: PolyVec(len), b: PolyVec(len)) Poly
fn dotHat(comptime len: u8, a: PolyVec(len), b: PolyVec(len)) Poly { var ret = Poly.zero; for (0..len) |i| { const prod = a.ps[i].mulHat(b.ps[i]); ret = ret.add(prod); } return ret; }