// Testing functions for the BLAS sub-library
#include <iostream>
//#define LA_COMPLEX_SUPPORT
#include <lavd.h>
#include <lavc.h>
#include <blas1pp.h>
//#include <lapackpp/blas3pp.h>
using namespace std;
// #ifndef __FILE__
// # define __FILE__ "unknown"
// #endif
// #ifndef __LINE__
// # define __LINE__ "unknown"
// #endif
#define check_assert(expr) if (!(expr)) { std::cout << __FILE__ << ": Failed check in line " << __LINE__ << std::endl; error = true; }
int main()
{
bool error = false;
{
// Checking Blas_H_Dot_Prod
LaVectorComplex a(3),b(3);
a=LaComplex(1,0);
b=LaComplex(1,0);
check_assert(Blas_H_Dot_Prod(a,b) == LaComplex(3.0));
}
{
// Checking LaVectorDouble::inject
LaVectorDouble m,n;
m.resize(3,1);
m=2.0;
n.resize(2,1);
n=1.0;
m(LaIndex(0,1)).inject(n);
check_assert(m(0) == 1.0);
check_assert(m(1) == 1.0);
check_assert(m(2) == 2.0);
}
return error ? 1 : 0;
}
syntax highlighted by Code2HTML, v. 0.9.1