42 #ifndef TEUCHOS_XMLPERFTESTARCHIVE_HPP 43 #define TEUCHOS_XMLPERFTESTARCHIVE_HPP 57 #if defined __ECC || defined __ICC || defined __INTEL_COMPILER 58 #define TEUCHOS_COMPILER_NAME "Intel C++" 60 #define TEUCHOS_COMPILER_VERSION __ICC 62 #if defined __INTEL_COMPILER 63 #define TEUCHOS_COMPILER_VERSION __INTEL_COMPILER 65 #define TEUCHOS_COMPILER_VERSION __ECC 68 #define TEUCHOS_COMPILER_INTEL 1 71 #if defined __IBMC__ || defined __IBMCPP__ 72 #define TEUCHOS_COMPILER_NAME "IBM C++" 74 #define TEUCHOS_COMPILER_VERSION __IBMC__ 76 #define TEUCHOS_COMPILER_VERSION __IBMCPP__ 78 #define TEUCHOS_COMPILER_IBM 1 81 #if defined __APPLE_CC__ 83 #define TEUCHOS_COMPILER_APPLECC 1 87 #define TEUCHOS_COMPILER_NAME "Clang" 88 #define TEUCHOS_COMPILER_VERSION __clang_major__*100+__clang_minor__*10+__clang_patchlevel__ 89 #define TEUCHOS_COMPILER_CLANG 1 92 #if defined __GNUC__ && !defined TEUCHOS_COMPILER_NAME && !defined __clang__ 93 #define TEUCHOS_COMPILER_NAME "Gnu GCC" 94 #define TEUCHOS_COMPILER_VERSION __GNUC__*100+__GNUC_MINOR__*10+__GNUC_PATCHLEVEL__ 95 #define TEUCHOS_COMPILER_GCC 1 98 #if defined __PGIC__ && !defined TEUCHOS_COMPILER_NAME 99 #define TEUCHOS_COMPILER_NAME "PGI C++" 100 #define TEUCHOS_COMPILER_VERSION __PGIC__*100+__PGIC_MINOR__*10+__PGIC_PATCHLEVEL__ 101 #define TEUCHOS_COMPILER_PGI 1 105 #define TEUCHOS_DEVICE_COMPILER_NAME "NVIDIA NVCC" 106 #define TEUCHOS_DEVICE_COMPILER_VERSION __NVCC__ 109 #if !defined TEUCHOS_COMPILER_NAME 110 #define TEUCHOS_COMPILER_NAME "Unknown compiler" 113 #if !defined TEUCHOS_COMPILER_VERSION 114 #define TEUCHOS_COMPILER_VERSION 0 117 #if !defined TEUCHOS_DEVICE_COMPILER_NAME 118 #define TEUCHOS_DEVICE_COMPILER_NAME TEUCHOS_COMPILER_NAME 121 #if !defined TEUCHOS_DEVICE_COMPILER_VERSION 122 #define TEUCHOS_DEVICE_COMPILER_VERSION TEUCHOS_COMPILER_VERSION 165 void addDouble (
const std::string& name,
double val);
166 void addInt (
const std::string& name,
int val);
167 void addBool (
const std::string& name,
bool val);
169 void addString (
const std::string& name, std::string val);
173 for (
size_t i = 0; i < name.length (); i++) {
174 if (name[i] ==
' ') {
178 std::ostringstream strs;
185 bool hasChild(
const std::string &name)
const;
272 XMLTestNode new_test,
274 const std::string ext_hostname = std::string ());
XMLTestNode getChild(const std::string &name) const
void addAttribute(const std::string &name, T val)
void addChild(const XMLObject &child)
Add a child node to the node.
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
bool hasSameElements(XMLTestNode const &lhs) const
void addDouble(const std::string &name, double val)
ValueTolerance is a struct to keep a tuple of value and a tolerance. The tolerance can be either expr...
void addValueTolerance(const std::string &name, ValueTolerance val)
void addInt(const std::string &name, int val)
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object...
void appendContentLine(const size_t &i, const std::string &str)
const XMLObject * xml_object() const
void from_string(const std::string &valtol_str)
PerfTestResult
ReturnValues for PerfTest_CheckOrAdd_Test.
bool hasChild(const std::string &name) const
void addBool(const std::string &name, bool val)
Subclass of XMLObject used by the performance archive.
void addContent(const std::string &contentLine)
Add a line of character content.
void addString(const std::string &name, std::string val)
The XMLObjectImplem class takes care of the low-level implementation details of XMLObject.
bool operator==(ValueTolerance &rhs)
PerfTestResult PerfTest_CheckOrAdd_Test(XMLTestNode machine_config, XMLTestNode new_test, const std::string filename, const std::string ext_hostname)
Check whether a test is present and match an existing test in an archive.
XMLTestNode PerfTest_MachineConfig()
PerfTest_MachineConfig generates a basic machine configuration XMLTestNode.
An object representation of a subset of XML data.