dotProduct
fn
CommonType!(ElementType!(Range1), ElementType!(Range2)) dotProduct(Range1, Range2)(Range1 a, Range2 b) if (isInputRange!(Range1) && isInputRange!(Range2) &&
!(isArray!(Range1) && isArray!(Range2)))Computes the dot product of input ranges a and b. The two ranges must have the same length. If both ranges define length, the check is done once; otherwise, it is done at each iteration.
fn
CommonType!(F1, F2) dotProduct(F1, F2)(in F1[] avector, in F2[] bvector)Ditto
fn
F dotProduct(F, uint N)(const ref scope F[N] a, const ref scope F[N] b) if (N <= 16)ditto