44 #include "Trilinos_Util.h"
46 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
48 const std::string &fileName
64 const std::string::size_type ext_dot = fileName.rfind(
".");
66 std::string ext = fileName.substr(ext_dot+1);
69 char *hacked_file_str =
const_cast<char*
>(fileName.c_str());
71 if ( ext ==
"triU" ) {
72 const bool NonContiguousMap =
true;
74 0!=Trilinos_Util_ReadTriples2Epetra(
75 hacked_file_str,
false, comm, readMap, readA, readx,
76 readb, readxexact, NonContiguousMap
80 else if ( ext ==
"triS" ) {
81 const bool NonContiguousMap =
true;
83 0!=Trilinos_Util_ReadTriples2Epetra(
84 hacked_file_str,
true, comm, readMap, readA, readx,
85 readb, readxexact, NonContiguousMap
89 else if( ext ==
"mtx" ) {
91 0!=Trilinos_Util_ReadMatrixMarket2Epetra(
92 hacked_file_str, comm, readMap,
93 readA, readx, readb, readxexact
97 else if ( ext ==
"hb" ) {
98 Trilinos_Util_ReadHb2Epetra(
99 hacked_file_str, comm, readMap, readA, readx,
105 true, std::logic_error
106 ,
"Error, the file = \'"<<hacked_file_str<<
"\' has the extension "
107 "\'*."<<ext<<
"\' is not \'*.triU\', \'*.triS\', \'*.mtx\', or \'*.hb\'!"
118 if(map) *map = loc_map;
121 if(xExact) *xExact = loc_xExact;
126 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
128 const std::string &fileName
144 const std::string::size_type ext_dot = fileName.rfind(
".");
146 std::string ext = fileName.substr(ext_dot+1);
149 char *hacked_file_str =
const_cast<char*
>(fileName.c_str());
151 if ( ext ==
"triU" ) {
152 const bool NonContiguousMap =
true;
154 0!=Trilinos_Util_ReadTriples2Epetra64(
155 hacked_file_str,
false, comm, readMap, readA, readx,
156 readb, readxexact, NonContiguousMap
160 else if ( ext ==
"triS" ) {
161 const bool NonContiguousMap =
true;
163 0!=Trilinos_Util_ReadTriples2Epetra64(
164 hacked_file_str,
true, comm, readMap, readA, readx,
165 readb, readxexact, NonContiguousMap
169 else if( ext ==
"mtx" ) {
171 0!=Trilinos_Util_ReadMatrixMarket2Epetra64(
172 hacked_file_str, comm, readMap,
173 readA, readx, readb, readxexact
177 else if ( ext ==
"hb" ) {
178 Trilinos_Util_ReadHb2Epetra64(
179 hacked_file_str, comm, readMap, readA, readx,
185 true, std::logic_error
186 ,
"Error, the file = \'"<<hacked_file_str<<
"\' has the extension "
187 "\'*."<<ext<<
"\' is not \'*.triU\', \'*.triS\', \'*.mtx\', or \'*.hb\'!"
198 if(map) *map = loc_map;
201 if(xExact) *xExact = loc_xExact;
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
void readEpetraLinearSystem(const std::string &fileName, const Epetra_Comm &comm, Teuchos::RCP< Epetra_CrsMatrix > *A=NULL, Teuchos::RCP< Epetra_Map > *map=NULL, Teuchos::RCP< Epetra_Vector > *x=NULL, Teuchos::RCP< Epetra_Vector > *b=NULL, Teuchos::RCP< Epetra_Vector > *xExact=NULL)
Read in an Epetra linear system from a file.
void readEpetraLinearSystem64(const std::string &fileName, const Epetra_Comm &comm, Teuchos::RCP< Epetra_CrsMatrix > *A=NULL, Teuchos::RCP< Epetra_Map > *map=NULL, Teuchos::RCP< Epetra_Vector > *x=NULL, Teuchos::RCP< Epetra_Vector > *b=NULL, Teuchos::RCP< Epetra_Vector > *xExact=NULL)
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)