구현은 아주 간단하며, 대부분의 C 컴파일러는 이를 자동으로 벡터화해서 SIMD 연산과 같은 고급 프로세서 기능을 활용해 성능을 극대화할 수 있다.
/* my_library.c */
#include <stdio.h>
#include "my_library.h"
double dot_product(int length, double* a, double* b) {
double result = 0;
for (int i = 0; i < length; i++) {
result += a[i] * b[i];
}
return result;
}