int main(int argc, char* argv[]) { // Check command line count. if( argc < 2 ) { // TODO: Need more consistent error handling. std::cerr << "Error: Must specify reaction set XML input file." << std::endl; antioch_error(); } int returnval = 0; returnval += vectester (argv[1], std::valarray<float>(2*ANTIOCH_N_TUPLES), "valarray<float>"); returnval += vectester (argv[1], std::valarray<double>(2*ANTIOCH_N_TUPLES), "valarray<double>"); // We're not getting the full long double precision yet? // returnval = returnval || // vectester (argv[1], std::valarray<long double>(2*ANTIOCH_N_TUPLES), "valarray<ld>"); #ifdef ANTIOCH_HAVE_EIGEN returnval += vectester (argv[1], Eigen::Array<float, 2*ANTIOCH_N_TUPLES, 1>(), "Eigen::ArrayXf"); returnval += vectester (argv[1], Eigen::Array<double, 2*ANTIOCH_N_TUPLES, 1>(), "Eigen::ArrayXd"); // We're not getting the full long double precision yet? // returnval = returnval || // vectester (argv[1], Eigen::Array<long double, 2*ANTIOCH_N_TUPLES, 1>(), "Eigen::ArrayXld"); #endif #ifdef ANTIOCH_HAVE_METAPHYSICL returnval += vectester (argv[1], MetaPhysicL::NumberArray<2*ANTIOCH_N_TUPLES, float> (0), "NumberArray<float>"); returnval += vectester (argv[1], MetaPhysicL::NumberArray<2*ANTIOCH_N_TUPLES, double> (0), "NumberArray<double>"); // returnval = returnval || // vectester (argv[1], MetaPhysicL::NumberArray<2*ANTIOCH_N_TUPLES, long double> (0), "NumberArray<ld>"); #endif #ifdef ANTIOCH_HAVE_VEXCL vex::Context ctx_f (vex::Filter::All); if (!ctx_f.empty()) returnval = returnval || vectester (argv[1], vex::vector<float> (ctx_f, 2*ANTIOCH_N_TUPLES), "vex::vector<float>"); vex::Context ctx_d (vex::Filter::DoublePrecision); if (!ctx_d.empty()) returnval = returnval || vectester (argv[1], vex::vector<double> (ctx_d, 2*ANTIOCH_N_TUPLES), "vex::vector<double>"); #endif std::cout << "Found " << returnval << " errors" << std::endl; #ifdef ANTIOCH_HAVE_GRVY gt.Finalize(); gt.Summarize(); #endif return (returnval != 0) ? 1 : 0; }
int main() { int returnval = 0; #ifdef ANTIOCH_HAVE_GSL returnval = returnval || vectester (std::valarray<float>(2*ANTIOCH_N_TUPLES), "valarray<float>"); returnval = returnval || vectester (std::valarray<double>(2*ANTIOCH_N_TUPLES), "valarray<double>"); returnval = returnval || vectester (std::valarray<long double>(2*ANTIOCH_N_TUPLES), "valarray<ld>"); #ifdef ANTIOCH_HAVE_EIGEN returnval = returnval || vectester (Eigen::Array<float, 2*ANTIOCH_N_TUPLES, 1>(), "Eigen::ArrayXf"); returnval = returnval || vectester (Eigen::Array<double, 2*ANTIOCH_N_TUPLES, 1>(), "Eigen::ArrayXd"); returnval = returnval || vectester (Eigen::Array<long double, 2*ANTIOCH_N_TUPLES, 1>(), "Eigen::ArrayXld"); #endif #ifdef ANTIOCH_HAVE_METAPHYSICL returnval = returnval || vectester (MetaPhysicL::NumberArray<2*ANTIOCH_N_TUPLES, float> (0), "NumberArray<float>"); returnval = returnval || vectester (MetaPhysicL::NumberArray<2*ANTIOCH_N_TUPLES, double> (0), "NumberArray<double>"); returnval = returnval || vectester (MetaPhysicL::NumberArray<2*ANTIOCH_N_TUPLES, long double> (0), "NumberArray<ld>"); #endif #ifdef ANTIOCH_HAVE_VEXCL vex::Context ctx_f (vex::Filter::All); if (!ctx_f.empty()) returnval = returnval || vectester (vex::vector<float> (ctx_f, 2*ANTIOCH_N_TUPLES), "vex::vector<float>"); vex::Context ctx_d (vex::Filter::DoublePrecision); if (!ctx_d.empty()) returnval = returnval || vectester (vex::vector<double> (ctx_d, 2*ANTIOCH_N_TUPLES), "vex::vector<double>"); #endif #ifdef ANTIOCH_HAVE_GRVY gt.Finalize(); gt.Summarize(); #endif #else // ANTIOCH_HAVE_GSL // 77 return code tells Automake we skipped this. returnval = 77; #endif return returnval; }