Commit c476b51f authored by incardon's avatar incardon

Fixing quadmath

parent a384941b
......@@ -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++])
......
......@@ -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;
};
......
......@@ -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_;
......
......@@ -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
......
......@@ -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>\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment