int Epetra_FECrsMatrix::GlobalAssemble(const Epetra_Map& domain_map, const Epetra_Map& range_map, bool callFillComplete, Epetra_CombineMode combineMode, bool save_off_and_reuse_map_exporter) { if(!domain_map.GlobalIndicesTypeMatch(range_map)) throw ReportError("Epetra_FECrsMatrix::GlobalAssemble: cannot be called with different indices types for domainMap and rangeMap", -1); if(!RowMap().GlobalIndicesTypeMatch(domain_map)) throw ReportError("Epetra_FECrsMatrix::GlobalAssemble: cannot be called with different indices types for row map and incoming rangeMap", -1); if(RowMap().GlobalIndicesInt()) #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES return GlobalAssemble<int>(domain_map, range_map, callFillComplete, combineMode, save_off_and_reuse_map_exporter); #else throw ReportError("Epetra_FECrsMatrix::GlobalAssemble: ERROR, GlobalIndicesInt but no API for it.",-1); #endif if(RowMap().GlobalIndicesLongLong()) #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES return GlobalAssemble<long long>(domain_map, range_map, callFillComplete, combineMode, save_off_and_reuse_map_exporter); #else throw ReportError("Epetra_FECrsMatrix::GlobalAssemble: ERROR, GlobalIndicesLongLong but no API for it.",-1); #endif throw ReportError("Epetra_FECrsMatrix::GlobalAssemble: Internal error, unable to determine global index type of maps", -1); }