#pragma once /** Inner product @param[in] N number of vector elements @param[in] x vector @param[in] y vector @return resulting Euclidian inner product */ double scalar(unsigned int N, double const x[], double const y[]); double scalar_unroll(unsigned int const N, double const x[], double const y[]); /** L_2 Norm of a vector @param[in] N number of vector elements @param[in] x vector @return resulting Euclidian norm */ double norm(unsigned int N, double const x[]);