From c476b51f466d6e5ed746d7dd64a09a48b77bafdd Mon Sep 17 00:00:00 2001 From: Pietro Incardona <incardon@mpi-cbg.de> Date: Thu, 22 Sep 2016 16:55:57 +0200 Subject: [PATCH] Fixing quadmath --- configure.ac | 4 +-- src/FiniteDifference/eq_unit_test_3d.hpp | 35 +++++++++---------- src/Matrix/SparseMatrix_petsc.hpp | 20 +++++++++++ .../Vector/vector_dist_operators.hpp | 7 +++- .../vector_dist_operators_functions.hpp | 8 ----- 5 files changed, 45 insertions(+), 29 deletions(-) diff --git a/configure.ac b/configure.ac index b57f9f2e..552b31f3 100755 --- a/configure.ac +++ b/configure.ac @@ -136,8 +136,8 @@ AX_LIB_PETSC() AC_LANG_PUSH([C++]) AC_CHECK_HEADER(quadmath.h, , []) -AC_CHECK_LIB(quadmath, sinq, [ AC_CHECK_HEADER( quadmath.h ,[AC_DEFINE(HAVE_LIBQUADMATH,[],[Have quad math lib]) - LIBQUADMATH=" -lquadmath "],[]) +AC_CHECK_LIB(quadmath, sinq, [ AC_DEFINE(HAVE_LIBQUADMATH,[],[Have quad math lib]) + LIBQUADMATH=" -lquadmath " ], []) AC_LANG_POP([C++]) diff --git a/src/FiniteDifference/eq_unit_test_3d.hpp b/src/FiniteDifference/eq_unit_test_3d.hpp index 83ec81d8..aa11f5ba 100644 --- a/src/FiniteDifference/eq_unit_test_3d.hpp +++ b/src/FiniteDifference/eq_unit_test_3d.hpp @@ -22,57 +22,56 @@ BOOST_AUTO_TEST_SUITE( eq_test_suite_3d ) -//! - +//! Specify the general caratteristic of system to solve struct lid_nn_3d_eigen { - // dimensionaly of the equation ( 3D problem ...) + //! dimensionaly of the equation ( 3D problem ...) static const unsigned int dims = 3; - // number of fields in the system + //! number of fields in the system static const unsigned int nvar = 4; - // boundary at X and Y + //! boundary at X and Y static const bool boundary[]; - // type of space float, double, ... + //! type of space float, double, ... typedef float stype; - // type of base grid + //! type of base grid typedef grid_dist_id<3,float,aggregate<float[3],float>,CartDecomposition<3,float>> b_grid; - // type of SparseMatrix for the linear solver + //! type of SparseMatrix for the linear solver typedef SparseMatrix<double,int> SparseMatrix_type; - // type of Vector for the linear solver + //! type of Vector for the linear solver typedef Vector<double> Vector_type; - // Define the underline grid is staggered + //! Define the underline grid is staggered static const int grid_type = STAGGERED_GRID; }; struct lid_nn_3d_petsc { - // dimensionaly of the equation ( 3D problem ...) + //! dimensionaly of the equation ( 3D problem ...) static const unsigned int dims = 3; - // number of fields in the system + //! number of fields in the system static const unsigned int nvar = 4; - // boundary at X and Y + //! boundary at X and Y static const bool boundary[]; - // type of space float, double, ... + //! type of space float, double, ... typedef float stype; - // type of base grid + //! type of base grid typedef grid_dist_id<3,float,aggregate<float[3],float>,CartDecomposition<3,float>> b_grid; - // type of SparseMatrix for the linear solver + //! type of SparseMatrix for the linear solver typedef SparseMatrix<double,int,PETSC_BASE> SparseMatrix_type; - // type of Vector for the linear solver + //! type of Vector for the linear solver typedef Vector<double,PETSC_BASE> Vector_type; - // Define the underline grid is staggered + //! Define the underline grid is staggered static const int grid_type = STAGGERED_GRID; }; diff --git a/src/Matrix/SparseMatrix_petsc.hpp b/src/Matrix/SparseMatrix_petsc.hpp index d129624d..78d352d1 100644 --- a/src/Matrix/SparseMatrix_petsc.hpp +++ b/src/Matrix/SparseMatrix_petsc.hpp @@ -24,22 +24,42 @@ template<typename T> class triplet<T,PETSC_BASE> { + //! Row of the sparse matrix PetscInt row_; + + //! Colum of the sparse matrix PetscInt col_; + + //! Value of the Matrix PetscScalar val_; public: + /*! \brief Return the row of the triplet + * + * \return the row index + * + */ PetscInt & row() { return row_; } + /*! \brief Return the colum of the triplet + * + * \return the colum index + * + */ PetscInt & col() { return col_; } + /*! \brief Return the value of the triplet + * + * \return the value + * + */ PetscScalar & value() { return val_; diff --git a/src/Operators/Vector/vector_dist_operators.hpp b/src/Operators/Vector/vector_dist_operators.hpp index 7adb7900..21ec3c82 100644 --- a/src/Operators/Vector/vector_dist_operators.hpp +++ b/src/Operators/Vector/vector_dist_operators.hpp @@ -499,12 +499,15 @@ public: template<unsigned int prp> class vector_dist_expression<prp,float> { + //! constant value float d; public: + //! type of object the structure return then evaluated typedef float vtype; + //! constrictir from constant value inline vector_dist_expression(const float & d) :d(d) {} @@ -519,7 +522,9 @@ public: /*! \brief Evaluate the expression * - * It just return the velue set in the constructor + * It just return the value set in the constructor + * + * \return the constant value set in the constructor * */ inline float value(const vect_dist_key_dx & k) const diff --git a/src/Operators/Vector/vector_dist_operators_functions.hpp b/src/Operators/Vector/vector_dist_operators_functions.hpp index c0d9dfb3..ff7308e1 100644 --- a/src/Operators/Vector/vector_dist_operators_functions.hpp +++ b/src/Operators/Vector/vector_dist_operators_functions.hpp @@ -49,14 +49,6 @@ fun_name(const vector_dist_expression_op<exp1,exp2_,op1> & va)\ return exp_sum;\ }\ \ -template<typename exp1, typename exp2_, unsigned int op1>\ -inline vector_dist_expression_op<vector_dist_expression<0,double>,void,OP_ID>\ -fun_name(double d)\ -{\ - vector_dist_expression_op<vector_dist_expression<0,double>,void,OP_ID> exp_sum( (vector_dist_expression<0,double>(d)) );\ -\ - return exp_sum;\ -}\ \ template<unsigned int prp1, typename v1>\ inline vector_dist_expression_op<vector_dist_expression<prp1,v1>,void,OP_ID>\ -- GitLab