#include #include extern "C" { #include "cblas.h" } using namespace::std; double naive_dnrm2(int n, double *x) { double sum = 0.; for (int i = 0; i < n; ++i) sum += pow(x[i], 2); return sqrt(sum); } int main() { double x[3] = {1.354e300, 1.789e200, 8.765e250}; cout << "cblas_dnrm2" << endl; cout << cblas_dnrm2(3, x, 1) << endl; cout << "naive_dnrm2" << endl; cout << naive_dnrm2(3, x) << endl; double y[3] = {1.354e-300, 1.789e-200, 8.765e-250}; cout << "cblas_dnrm2" << endl; cout << cblas_dnrm2(3, y, 1) << endl; cout << "naive_dnrm2" << endl; cout << naive_dnrm2(3, y) << endl; return 0; }