From 93c68aef6be53f00b523519d9fc7b4e3e921974c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Oberhuber?= <oberhuber.tomas@gmail.com>
Date: Mon, 9 Dec 2019 22:51:45 +0100
Subject: [PATCH] Added error messages to matrix reader.

---
 src/TNL/Matrices/MatrixReader_impl.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/TNL/Matrices/MatrixReader_impl.h b/src/TNL/Matrices/MatrixReader_impl.h
index d00fdb9044..70fd06d360 100644
--- a/src/TNL/Matrices/MatrixReader_impl.h
+++ b/src/TNL/Matrices/MatrixReader_impl.h
@@ -55,7 +55,10 @@ bool MatrixReader< Matrix >::readMtxFileHostMatrix( std::istream& file,
    bool symmetricMatrix( false );
 
    if( ! readMtxHeader( file, rows, columns, symmetricMatrix, verbose ) )
+   {
+      std::cerr << "Unable to read MTX file header." << std::endl;
       return false;
+   }
 
    if( symReader && !symmetricMatrix )
    {
@@ -67,12 +70,18 @@ bool MatrixReader< Matrix >::readMtxFileHostMatrix( std::istream& file,
    rowLengths.setSize( rows );
 
    if( ! computeCompressedRowLengthsFromMtxFile( file, rowLengths, columns, rows, symmetricMatrix, verbose ) )
+   {
+      std::cerr << "Unable to compute compressed row lengths." << std::endl;
       return false;
+   }
 
    matrix.setCompressedRowLengths( rowLengths );
 
    if( ! readMatrixElementsFromMtxFile( file, matrix, symmetricMatrix, verbose, symReader ) )
+   {
+      std::cerr << "Unable to read matrix elements from MTX file," << std::endl;
       return false;
+   }
    return true;
 }
 
@@ -84,7 +93,10 @@ bool MatrixReader< Matrix >::verifyMtxFile( std::istream& file,
    bool symmetricMatrix( false );
    IndexType rows, columns;
    if( ! readMtxHeader( file, rows, columns, symmetricMatrix, false ) )
+   {
+      std::cerr << "Unable to read MTX file header." << std::endl;
       return false;
+   }
    file.clear();
    file.seekg( 0, std::ios::beg );
    String line;
@@ -103,7 +115,10 @@ bool MatrixReader< Matrix >::verifyMtxFile( std::istream& file,
       IndexType row( 1 ), column( 1 );
       RealType value;
       if( ! parseMtxLineWithElement( line, row, column, value ) )
+      {
+         std::cerr << "Unable to parse MTX file line." << std::endl;
          return false;
+      }
       if( value != matrix.getElement( row-1, column-1 ) ||
           ( symmetricMatrix && value != matrix.getElement( column-1, row-1 ) ) )
       {
-- 
GitLab