COMP: compilation of Test-QRMatrix (clang, int64)

- remove unused local functions from volumeExprDriver
This commit is contained in:
Mark Olesen
2019-12-16 00:06:40 +01:00
parent c614388ddb
commit 1a16207e0d
6 changed files with 42 additions and 68 deletions

View File

@ -324,7 +324,7 @@ void verification_QRMatrix
// QRMatrix Constructors // QRMatrix Constructors
#if (0 | RUNALL) #if (0 | RUNALL)
{ {
QRMatrix<MatrixType> QRNull(); QRMatrix<MatrixType> QRNull;
} }
#endif #endif
@ -967,14 +967,14 @@ void verification_tsqr
typedef RectangularMatrix<Type> RMatrix; typedef RectangularMatrix<Type> RMatrix;
// Size of the full matrix and its partitions // Size of the full matrix and its partitions
const label nColsSum = rndGen.position(1, 100); const label nColsSum = rndGen.position<label>(1, 100);
const label qParts = rndGen.position(10, 30); const label qParts = rndGen.position<label>(10, 30);
List<label> mRowsList(qParts, Zero); List<label> mRowsList(qParts, Zero);
label mRowsSum = 0; label mRowsSum = 0;
for (label i = 0; i < qParts; ++i) for (label i = 0; i < qParts; ++i)
{ {
const label mRows = rndGen.position(nColsSum, 10*nColsSum); const label mRows = rndGen.position<label>(nColsSum, 10*nColsSum);
mRowsList[i] = mRows; mRowsList[i] = mRows;
mRowsSum += mRows; mRowsSum += mRows;
} }
@ -1084,7 +1084,7 @@ void verification_backSubstitution
{ {
Info<< nl << "# A*X = b:" << nl; Info<< nl << "# A*X = b:" << nl;
const RMatrix AX(A*X); const RMatrix AX(A*X);
equal(AX, b, verbose, 1e-3, 1e-3); equal(AX, b, verbose, 10, 1e-3, 1e-3);
} }
#endif #endif
} }
@ -1170,7 +1170,7 @@ int main(int argc, char *argv[])
for (label i = 0; i < numberOfTests; ++i) for (label i = 0; i < numberOfTests; ++i)
{ {
const label mRows = rndGen.position(1, 50); const label mRows = rndGen.position<label>(1, 50);
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl; Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
SMatrix A(makeRandomMatrix<SMatrix>({mRows, mRows}, rndGen)); SMatrix A(makeRandomMatrix<SMatrix>({mRows, mRows}, rndGen));
@ -1199,8 +1199,8 @@ int main(int argc, char *argv[])
for (label i = 0; i < numberOfTests; ++i) for (label i = 0; i < numberOfTests; ++i)
{ {
const label mRows = rndGen.position(1, 50); const label mRows = rndGen.position<label>(1, 50);
const label nCols = rndGen.position(1, 50); const label nCols = rndGen.position<label>(1, 50);
Info<< nl << nl << "# Random matrix A with" Info<< nl << nl << "# Random matrix A with"
<< " random mRows = " << mRows << " random mRows = " << mRows
<< " random nCols = " << nCols << nl; << " random nCols = " << nCols << nl;
@ -1231,7 +1231,7 @@ int main(int argc, char *argv[])
for (label i = 0; i < numberOfTests; ++i) for (label i = 0; i < numberOfTests; ++i)
{ {
const label mRows = rndGen.position(1, 50); const label mRows = rndGen.position<label>(1, 50);
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl; Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
SCMatrix A({mRows, mRows}, complex(0, 0)); SCMatrix A({mRows, mRows}, complex(0, 0));
@ -1258,7 +1258,7 @@ int main(int argc, char *argv[])
for (label i = 0; i < numberOfTests; ++i) for (label i = 0; i < numberOfTests; ++i)
{ {
const label mRows = rndGen.position(1, 50); const label mRows = rndGen.position<label>(1, 50);
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl; Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
SCMatrix A(makeRandomMatrix<SCMatrix>({mRows, mRows}, rndGen)); SCMatrix A(makeRandomMatrix<SCMatrix>({mRows, mRows}, rndGen));
@ -1287,8 +1287,8 @@ int main(int argc, char *argv[])
for (label i = 0; i < numberOfTests; ++i) for (label i = 0; i < numberOfTests; ++i)
{ {
const label mRows = rndGen.position(1, 50); const label mRows = rndGen.position<label>(1, 50);
const label nCols = rndGen.position(1, 50); const label nCols = rndGen.position<label>(1, 50);
Info<< nl << nl << "# Random matrix A with" Info<< nl << nl << "# Random matrix A with"
<< " random mRows = " << mRows << " random mRows = " << mRows
<< " random nCols = " << nCols << nl; << " random nCols = " << nCols << nl;
@ -1363,8 +1363,8 @@ int main(int argc, char *argv[])
for (label i = 0; i < numberOfTests; ++i) for (label i = 0; i < numberOfTests; ++i)
{ {
const label mRows = rndGen.position(20, 50); const label mRows = rndGen.position<label>(20, 50);
const label pCols = rndGen.position(20, 50); const label pCols = rndGen.position<label>(20, 50);
Info<< nl << nl << "# Random square matrix A with" Info<< nl << nl << "# Random square matrix A with"
<< " random mRows = " << mRows << " random mRows = " << mRows
<< " random nCols = " << mRows << nl; << " random nCols = " << mRows << nl;
@ -1422,8 +1422,8 @@ int main(int argc, char *argv[])
for (label i = 0; i < numberOfTests; ++i) for (label i = 0; i < numberOfTests; ++i)
{ {
const label mRows = rndGen.position(20, 50); const label mRows = rndGen.position<label>(20, 50);
const label pCols = rndGen.position(20, 50); const label pCols = rndGen.position<label>(20, 50);
Info<< nl << nl << "# Random square matrix A with" Info<< nl << nl << "# Random square matrix A with"
<< " random mRows = " << mRows << " random mRows = " << mRows
<< " random nCols = " << mRows << nl; << " random nCols = " << mRows << nl;

View File

@ -35,7 +35,7 @@ bool Foam::MatrixTools::equal
const Matrix<Form1, Type>& A, const Matrix<Form1, Type>& A,
const Matrix<Form2, Type>& B, const Matrix<Form2, Type>& B,
const bool verbose, const bool verbose,
const label lenDiffs, const label maxDiffs,
const scalar relTol, const scalar relTol,
const scalar absTol const scalar absTol
) )
@ -55,24 +55,24 @@ bool Foam::MatrixTools::equal
auto iter1 = A.cbegin(); auto iter1 = A.cbegin();
auto iter2 = B.cbegin(); auto iter2 = B.cbegin();
label j = 0; label nDiffs = 0;
for (label i = 0; i < len; ++i) for (label i = 0; i < len; ++i)
{ {
if ((absTol + relTol*mag(*iter2)) < Foam::mag(*iter1 - *iter2)) if ((absTol + relTol*mag(*iter2)) < Foam::mag(*iter1 - *iter2))
{ {
++nDiffs;
if (verbose) if (verbose)
{ {
Info<< "Matrix element " << i Info<< "Matrix element " << i
<< " differs beyond tolerance: " << " differs beyond tolerance: "
<< *iter1 << " vs " << *iter2 << nl; << *iter1 << " vs " << *iter2 << nl;
++j;
} }
if (lenDiffs < j) if (maxDiffs && maxDiffs < nDiffs)
{ {
Info<< "Number of different elements exceeds = " << lenDiffs Info<< "More than " << maxDiffs << " elements differ."
<< " Ceasing comparisons for the remaining of elements." << " Skipping further comparisons." << nl;
<< nl;
return false; return false;
} }
} }
@ -83,10 +83,17 @@ bool Foam::MatrixTools::equal
if (verbose) if (verbose)
{ {
Info<< "All elements equal within the tolerances" << nl; if (nDiffs)
{
Info<< "Some elements differed" << nl;
}
else
{
Info<< "All elements equal within the tolerances" << nl;
}
} }
return true; return !nDiffs;
} }

View File

@ -27,7 +27,7 @@ Namespace
Foam::MatrixTools Foam::MatrixTools
Description Description
Collection of static functions for matrix-related verifications. Collection of functions for matrix-related verifications.
SourceFiles SourceFiles
MatrixTools.C MatrixTools.C
@ -47,7 +47,6 @@ namespace Foam
// Forward declarations // Forward declarations
class Ostream; class Ostream;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Namespace MatrixTools Declaration Namespace MatrixTools Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -56,13 +55,14 @@ namespace MatrixTools
{ {
//- Compare matrix elements for absolute or relative equality //- Compare matrix elements for absolute or relative equality
//
template<class Form1, class Form2, class Type> template<class Form1, class Form2, class Type>
bool equal bool equal
( (
const Matrix<Form1, Type>& A, const Matrix<Form1, Type>& A,
const Matrix<Form2, Type>& B, const Matrix<Form2, Type>& B,
const bool verbose = false, const bool verbose = false,
const label lenDiffs = 10, const label maxDiffs = 10, //!< Stop reporting after maxDiffs (0 to disable)
const scalar relTol = 1e-5, const scalar relTol = 1e-5,
const scalar absTol = 1e-8 const scalar absTol = 1e-8
); );

View File

@ -81,39 +81,6 @@ addNamedToRunTimeSelectionTable
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
namespace Foam
{
static label getPatchID(const fvMesh& mesh, const word& patchName)
{
const auto& bMesh = mesh.boundaryMesh();
const label patchId = bMesh.findPatchID(patchName);
if (patchId < 0)
{
FatalErrorInFunction
<< "No patch " << patchName << " found in "
<< flatOutput(bMesh.names()) << nl
<< exit(FatalError);
}
return patchId;
}
static inline const polyPatch& findPolyPatch
(
const fvMesh& mesh,
const word& patchName
)
{
return mesh.boundaryMesh()[getPatchID(mesh, patchName)];
}
} // End namespace Foam
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::expressions::volumeExpr::parseDriver::parseDriver Foam::expressions::volumeExpr::parseDriver::parseDriver

View File

@ -77,10 +77,10 @@ class parProfiling
{ {
// Private Member Functions // Private Member Functions
//- Disallow default bitwise copy construct //- No copy construct
parProfiling(const parProfiling&) = delete; parProfiling(const parProfiling&) = delete;
//- Disallow default bitwise assignment //- No copy assignment
void operator=(const parProfiling&) = delete; void operator=(const parProfiling&) = delete;

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2018 OpenCFD Ltd. Copyright (C) 2018-2019 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -72,11 +72,11 @@ class exact
const distributedTriSurfaceMesh& patchSurface() const; const distributedTriSurfaceMesh& patchSurface() const;
//- Disallow default bitwise copy construct //- No copy construct
exact(const exact&); exact(const exact&) = delete;
//- Disallow default bitwise assignment //- No copy assignment
void operator=(const exact&); void operator=(const exact&) = delete;
public: public: