50 lines
1.6 KiB
C++
50 lines
1.6 KiB
C++
#include <string>
|
|
#include <locale>
|
|
#include "tests.h"
|
|
|
|
int RunTests()
|
|
{
|
|
// Py_SetProgramName("MatricesTest"); /* optional but recommended */
|
|
Py_Initialize();
|
|
PyRun_SimpleString("import numpy as np");
|
|
PyRun_SimpleString("def compare_floats(f1,f2,tol):\n return np.isclose(f1,f2,rtol=tol)");
|
|
bool print = 0;
|
|
for(int i = 0; i < 10; i++)
|
|
{
|
|
// std::cout<<TestInverse<float>(2,print)<<std::endl;
|
|
|
|
for(long j = 2; j < 20; j++)
|
|
{
|
|
if(!TestInverse<float>(j,print))
|
|
{
|
|
std::cerr<<"Error testing float inverse. Try again to verify that this is not a statistical error."<<std::endl;
|
|
std::exit(1);
|
|
}
|
|
if(!TestInverse<double>(j,print))
|
|
{
|
|
std::cerr<<"Error testing double inverse. Try again to verify that this is not a statistical error."<<std::endl;
|
|
std::exit(1);
|
|
}
|
|
if(!TestInverse<std::complex<float>>(j,print))
|
|
{
|
|
std::cerr<<"Error testing complex float inverse. Try again to verify that this is not a statistical error."<<std::endl;
|
|
std::exit(1);
|
|
}
|
|
if(!TestInverse<std::complex<double>>(j,print))
|
|
{
|
|
std::cerr<<"Error testing complex double inverse. Try again to verify that this is not a statistical error."<<std::endl;
|
|
std::exit(1);
|
|
}
|
|
}
|
|
}
|
|
Py_Finalize();
|
|
return 0;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
RunTests();
|
|
std::cout<<"Tests program exited with no errors."<<std::endl;
|
|
return 0;
|
|
}
|