Fixed: Some remaining doxygen issues

This commit is contained in:
Knut Morten Okstad 2018-03-18 08:28:38 +01:00
parent 3b83047604
commit b2cf135cf4
6 changed files with 63 additions and 63 deletions

View File

@ -564,7 +564,7 @@ WARN_LOGFILE = @PROJECT_BINARY_DIR@/DoxyWarnings.log
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @IFEM_PATH@/src \
INPUT = @IFEM_PATH@/src @IFEM_H_PATH@ \
@IFEM_PATH@/src/SIM @IFEM_PATH@/src/ASM \
@IFEM_PATH@/src/ASM/LR \
@IFEM_PATH@/src/Eig @IFEM_PATH@/src/LinAlg \
@ -600,7 +600,7 @@ RECURSIVE = NO
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE =
EXCLUDE = @IFEM_PATH@/src/ASM/ASMs2DInterpolate.C
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
@ -622,7 +622,7 @@ EXCLUDE_PATTERNS =
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test
EXCLUDE_SYMBOLS = DERR INDEX CHECK_INDEX THIS TRY_CLONE*
EXCLUDE_SYMBOLS = DERR INDEX PAIR CHECK_INDEX THIS TRY_CLONE*
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
@ -1468,7 +1468,7 @@ DOTFILE_DIRS =
# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
DOT_GRAPH_MAX_NODES = 50
DOT_GRAPH_MAX_NODES = 100
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
# graphs generated by dot. A depth value of 3 means that only nodes reachable

View File

@ -15,16 +15,16 @@
#include "IFEM.h"
#include "Profiler.h"
#include <cstdio>
#include <cstdlib>
int main(int argc, char **argv)
/*!
\brief Main program for the IFEM unit tests.
*/
int main (int argc, char** argv)
{
testing::InitGoogleTest(&argc, argv);
IFEM::Init(argc, argv);
Profiler prof(argv[0]);
int ret = RUN_ALL_TESTS();
return ret;
return RUN_ALL_TESTS();
}

View File

@ -405,28 +405,28 @@ bool DenseMatrix::solve (Real* B, size_t nrhs, Real* rcond)
{
// Matrix is marked as symmetric - use Cholesky instead of full LU
if (ipiv)
dpotrs ('U',n,nrhs,myMat.ptr(),n,B,n,info);
dpotrs_('U',n,nrhs,myMat.ptr(),n,B,n,info);
else
{
ipiv = new int[1]; // dummy allocation to flag factorization reuse
dposv ('U',n,nrhs,myMat.ptr(),n,B,n,info);
dposv_('U',n,nrhs,myMat.ptr(),n,B,n,info);
}
}
else if (ipiv)
dgetrs ('N',n,nrhs,myMat.ptr(),n,ipiv,B,n,info);
dgetrs_('N',n,nrhs,myMat.ptr(),n,ipiv,B,n,info);
else
{
Real anorm;
if (rcond) // Evaluate the 1-norm of the original LHS-matrix
anorm = dlange('1',n,n,myMat.ptr(),n,rcond);
anorm = dlange_('1',n,n,myMat.ptr(),n,rcond);
ipiv = new int[n];
dgesv (n,nrhs,myMat.ptr(),n,ipiv,B,n,info);
dgesv_(n,nrhs,myMat.ptr(),n,ipiv,B,n,info);
if (rcond && info == 0)
{
// Estimate the condition number
Real* work = new Real[4*n];
int* iwork = new int[n];
dgecon ('1',n,myMat.ptr(),n,anorm,rcond,work,iwork,info);
dgecon_('1',n,myMat.ptr(),n,anorm,rcond,work,iwork,info);
delete[] work;
delete[] iwork;
}
@ -458,7 +458,7 @@ bool DenseMatrix::solveEig (RealArray& val, Matrix& vec, int nv)
Real dummy = Real(0);
Real abstol = Real(0);
// Invoke with Lwork = -1 to estimate work space size
dsyevx ('V','I','U',n,myMat.ptr(),n,dummy,dummy,1,nv,
dsyevx_('V','I','U',n,myMat.ptr(),n,dummy,dummy,1,nv,
abstol,m,&val.front(),vec.ptr(),n,&dummy,-1,nullptr,nullptr,info);
if (info == 0)
@ -470,7 +470,7 @@ bool DenseMatrix::solveEig (RealArray& val, Matrix& vec, int nv)
val.resize(n);
vec.resize(n,nv);
// Solve the eigenproblem
dsyevx ('V','I','U',n,myMat.ptr(),n,dummy,dummy,1,nv,
dsyevx_('V','I','U',n,myMat.ptr(),n,dummy,dummy,1,nv,
abstol,m,&val.front(),vec.ptr(),n,work,Lwork,Iwork+n,Iwork,info);
delete[] work;
delete[] Iwork;
@ -503,7 +503,7 @@ bool DenseMatrix::solveEig (DenseMatrix& B, RealArray& val, Matrix& vec, int nv,
Real dummy = Real(0);
Real abstol = Real(0);
// Invoke with Lwork = -1 to estimate work space size
dsygvx (1,'V','I','U',n,myMat.ptr(),n,B.myMat.ptr(),n,
dsygvx_(1,'V','I','U',n,myMat.ptr(),n,B.myMat.ptr(),n,
dummy,dummy,1,nv,abstol,m,&val.front(),vec.ptr(),n,
&dummy,-1,nullptr,nullptr,info);
@ -516,7 +516,7 @@ bool DenseMatrix::solveEig (DenseMatrix& B, RealArray& val, Matrix& vec, int nv,
val.resize(n);
vec.resize(n,nv);
// Solve the eigenproblem
dsygvx (1,'V','I','U',n,myMat.ptr(),n,B.myMat.ptr(),n,
dsygvx_(1,'V','I','U',n,myMat.ptr(),n,B.myMat.ptr(),n,
dummy,dummy,1,nv,abstol,m,&val.front(),vec.ptr(),n,
work,Lwork,Iwork+n,Iwork,info);
delete[] work;
@ -549,7 +549,7 @@ bool DenseMatrix::solveEigNon (RealArray& r_val, RealArray& c_val)
int info = 0;
Real dummy = Real(0);
// Invoke with Lwork = -1 to estimate work space size
dgeev ('N','N',n,myMat.ptr(),n,&r_val.front(),&c_val.front(),
dgeev_('N','N',n,myMat.ptr(),n,&r_val.front(),&c_val.front(),
&dummy,1,&dummy,1,&dummy,-1,info);
if (info == 0)
@ -560,7 +560,7 @@ bool DenseMatrix::solveEigNon (RealArray& r_val, RealArray& c_val)
r_val.resize(n);
c_val.resize(n);
// Solve the eigenproblem
dgeev ('N','N',n,myMat.ptr(),n,&r_val.front(),&c_val.front(),
dgeev_('N','N',n,myMat.ptr(),n,&r_val.front(),&c_val.front(),
&dummy,1,&dummy,1,work,Lwork,info);
delete[] work;
if (info == 0) return true;

View File

@ -121,95 +121,95 @@ Subroutine dgeev (char jobvl, char jobvr,
#else
#if defined(_WIN32) && !defined(__MINGW32__) && !defined(__MINGW64__)
#define dgecon DGECON
#define dgesv DGESV
#define dgetrf DGETRF
#define dgetri DGETRI
#define dgetrs DGETRS
#define dlange DLANGE
#define dposv DPOSV
#define dpotrs DPOTRS
#define dsyev DSYEV
#define dsyevx DSYEVX
#define dsygvx DSYGVX
#define dgeev DGEEV
#elif !defined(_AIX)
#define dgecon dgecon_
#define dgesv dgesv_
#define dgetrf dgetrf_
#define dgetri dgetri_
#define dgetrs dgetrs_
#define dlange dlange_
#define dposv dposv_
#define dpotrs dpotrs_
#define dsyev dsyev_
#define dsyevx dsyevx_
#define dsygvx dsygvx_
#define dgeev dgeev_
#define dgecon_ DGECON
#define dgesv_ DGESV
#define dgetrf_ DGETRF
#define dgetri_ DGETRI
#define dgetrs_ DGETRS
#define dlange_ DLANGE
#define dposv_ DPOSV
#define dpotrs_ DPOTRS
#define dsyev_ DSYEV
#define dsyevx_ DSYEVX
#define dsygvx_ DSYGVX
#define dgeev_ DGEEV
#elif defined(_AIX)
#define dgecon_ dgecon
#define dgesv_ dgesv
#define dgetrf_ dgetrf
#define dgetri_ dgetri
#define dgetrs_ dgetrs
#define dlange_ dlange
#define dposv_ dposv
#define dpotrs_ dpotrs
#define dsyev_ dsyev
#define dsyevx_ dsyevx
#define dsygvx_ dsygvx
#define dgeev_ dgeev
#endif
extern "C" {
//! \brief Estimates the reciprocal of the condition number of the matrix \b A.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dgecon (const char& norm, const int& n, const Real* A, const int& lda,
void dgecon_(const char& norm, const int& n, const Real* A, const int& lda,
const Real& anorm, Real* rcond, Real* work, int* iwork, int& info);
//! \brief Solves the linear equation system \a A*x=b.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dgesv (const int& n, const int& nrhs,
void dgesv_(const int& n, const int& nrhs,
Real* A, const int& lda, int* ipiv,
Real* B, const int& ldb, int& info);
//! \brief Computes an LU factorization of a general M-by-N matrix A.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dgetrf (const int& m, const int& n, Real* A, const int& lda,
void dgetrf_(const int& m, const int& n, Real* A, const int& lda,
int* ipiv, int& info);
//! \brief Computes the inverse of a matrix based on its LU factorization.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dgetri (const int& n, Real* A, const int& lda,
void dgetri_(const int& n, Real* A, const int& lda,
int* ipiv, Real* work, const int& lwork, int& info);
//! \brief Solves the equation system \a A*x=b when \a A is already factorized.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dgetrs (const char& trans, const int& n, const int& nrhs,
void dgetrs_(const char& trans, const int& n, const int& nrhs,
Real* A, const int& lda, int* ipiv,
Real* B, const int& ldb, int& info);
//! \brief Returns a norm of the matrix \b A.
//! \details This is a FORTRAN-77 function in the LAPack library.
//! \sa LAPack library documentation.
double dlange (const char& norm, const int& m, const int& n, const Real* A,
double dlange_(const char& norm, const int& m, const int& n, const Real* A,
const int& lda, Real* work);
//! \brief Solves the symmetric linear equation system \a A*x=b.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dposv (const char& uplo, const int& n, const int& nrhs,
void dposv_(const char& uplo, const int& n, const int& nrhs,
Real* A, const int& lda, Real* B, const int& ldb, int& info);
//! \brief Solves the symmetric equation system \a A*x=b for prefactored \b A.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dpotrs (const char& uplo, const int& n, const int& nrhs,
void dpotrs_(const char& uplo, const int& n, const int& nrhs,
Real* A, const int& lda, Real* B, const int& ldb, int& info);
//! \brief Solves the standard eigenproblem \a A*x=(lambda)*x.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dsyev (const char& jobz, const char& uplo,
void dsyev_(const char& jobz, const char& uplo,
const int& n, double* A, const int& lda, double* w,
double* work, const int& lwork, int& info);
//! \brief Solves the standard eigenproblem \a A*x=(lambda)*x.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dsyevx (const char& jobz, const char& range, const char& uplo,
void dsyevx_(const char& jobz, const char& range, const char& uplo,
const int& n, Real* a, const int& lda,
const Real& vl, const Real& vu, const int& il, const int& iu,
const Real& abstol, int& m, Real* w, Real* z, const int& ldz,
@ -218,7 +218,7 @@ void dsyevx (const char& jobz, const char& range, const char& uplo,
//! \brief Solves the generalized eigenproblem \a A*x=(lambda)*B*x.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dsygvx (const int& itype, const char& jobz, const char& range,
void dsygvx_(const int& itype, const char& jobz, const char& range,
const char& uplo, const int& n, Real* a, const int& lda,
Real* b, const int& ldb, const Real& vl, const Real& vu,
const int& il, const int& iu, const Real& abstol,
@ -228,7 +228,7 @@ void dsygvx (const int& itype, const char& jobz, const char& range,
//! \brief Solves the non-symmetric eigenproblem \a A*x=(lambda)*x.
//! \details This is a FORTRAN-77 subroutine in the LAPack library.
//! \sa LAPack library documentation.
void dgeev (const char& jobvl, const char& jobvr,
void dgeev_(const char& jobvl, const char& jobvr,
const int& n, Real* a, const int& lda,
Real* wr, Real* wi, Real* vl, const int& ldvl,
Real* vr, const int& ldvr,

View File

@ -188,7 +188,7 @@ bool utl::invert (Matrix& A)
// Use LAPack/BLAS for larger matrices
int INFO, N = A.rows() > A.cols() ? A.rows() : A.cols();
int* IPIV = new int[N];
dgetrf (N,N,A.ptr(),A.rows(),IPIV,INFO);
dgetrf_(N,N,A.ptr(),A.rows(),IPIV,INFO);
if (INFO != 0)
{
delete[] IPIV;
@ -196,9 +196,9 @@ bool utl::invert (Matrix& A)
return false;
}
double NWORK;
dgetri (N,A.ptr(),A.rows(),IPIV,&NWORK,-1,INFO);
dgetri_(N,A.ptr(),A.rows(),IPIV,&NWORK,-1,INFO);
double* WORK = new double[int(NWORK)];
dgetri (N,A.ptr(),A.rows(),IPIV,WORK,int(NWORK),INFO);
dgetri_(N,A.ptr(),A.rows(),IPIV,WORK,int(NWORK),INFO);
delete[] IPIV;
delete[] WORK;
if (INFO == 0) return true;

View File

@ -1189,7 +1189,7 @@ bool SymmTensor::principal (Vec3& p, Vec3* pdir, int ndir) const
int info = 0;
const int Lwork = 12;
double Work[Lwork];
dsyev ('V','U',n,A,n,W,Work,Lwork,info);
dsyev_('V','U',n,A,n,W,Work,Lwork,info);
if (info)
{
std::cerr <<" *** LAPack::dsyev: info ="<< info;