#include #include #include #include "CudaMatrix.h" #include "Function1D.h" #include "Function3D.h" #include "MatlabReader.h" #include "MatlabWriter.h" #include "Matrix.h" #include "Sparse.h" #include "common/getMeasurementMetaData.h" #include "config/config.h" #include "reflectionReconstruction/preprocessData/preprocessAScanBlockForReflection.h" #include "transmissionReconstruction/reconstruction/buildMatrix/DGradient.h" #include "transmissionReconstruction/reconstruction/buildMatrix/FMM.h" #include "transmissionReconstruction/reconstruction/buildMatrix/buildMatrix.h" #include "transmissionReconstruction/reconstruction/buildMatrix/buildMatrix.cuh" #include "transmissionReconstruction/reconstruction/reconstruction.h" #include "transmissionReconstruction/reconstruction/solvingEquationSystem/TVAL/TVAL.h" #include "reflectionReconstruction/preprocessData/preprocessTransmissionReconstructionForReflection.h" #include "reflectionReconstruction/preprocessData/precalcImageParameters.h" #include "reflectionReconstruction/reconstructionSAFT/reconstructionSAFT.h" #include "reflectionReconstruction/preprocessData/determineOptimalPulse.h" #include #include inline float fourDecimalRound(float src){ return round(src*10000.0)/10000.0; } #define EXPECT_FLOAT_AE(valueA,valueB)\ EXPECT_FLOAT_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB)) #define ASSERT_FLOAT_AE(valueA,valueB)\ ASSERT_FLOAT_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB)) class Reconstruction_Test : public ::testing::Test { protected: static void SetUpReconstructionTester() { } static void TearDownTestCase() { } void SetUp() { } void TearDown() { } }; TEST_F(Reconstruction_Test, GPUMajor) { int cudaDevice; cudaGetDevice(&cudaDevice); cudaDeviceProp prop; cudaGetDeviceProperties(&prop, cudaDevice); EXPECT_GT(prop.major,2)<<"GPU major:"<