Commit d3717cfb authored by Dave Moxey's avatar Dave Moxey

Remove more empty files, fix bug with zlib on buildbot

parent 14a1129f
......@@ -5,7 +5,7 @@
##
#
# THIRDPARTY_LIBRARY(varname DESCRIPTION <description> [STATIC|SHARED])
# THIRDPARTY_LIBRARY(varname DESCRIPTION <description> [STATIC|SHARED] [BINDIR])
#
# Updates a variable containing the name of a third-party shared or static
# library to point to an absolute path defining its location instead of adding
......@@ -19,9 +19,11 @@
# command).
# - `SHARED`: if the library will be built as a shared library
# - `STATIC`: if the library will be built as a static library
# - `BINDIR`: if the library actually lives in ThirdParty/bin instead of
# ThirdParty/lib (as happens occasionally on Windows, e.g. zlib)
#
MACRO(THIRDPARTY_LIBRARY varname)
CMAKE_PARSE_ARGUMENTS(TPLIB "" "DESCRIPTION" "STATIC;SHARED" ${ARGN})
CMAKE_PARSE_ARGUMENTS(TPLIB "" "DESCRIPTION" "STATIC;SHARED;BINDIR" ${ARGN})
IF(TPLIB_SHARED)
SET(LIBTYPE "SHARED")
......@@ -30,6 +32,12 @@ MACRO(THIRDPARTY_LIBRARY varname)
SET(LIBTYPE "STATIC")
SET(TPLIBS ${TPLIB_STATIC})
ENDIF()
IF(TPLIB_BINDIR)
SET(DIRNAME bin)
ELSE()
SET(DIRNAME lib)
ENDIF()
FOREACH (lib ${TPLIBS})
LIST(APPEND tmplist "${TPDIST}/lib/${CMAKE_${LIBTYPE}_LIBRARY_PREFIX}${lib}${CMAKE_${LIBTYPE}_LIBRARY_SUFFIX}")
......@@ -39,6 +47,9 @@ MACRO(THIRDPARTY_LIBRARY varname)
UNSET(tmplist)
UNSET(LIBTYPE)
UNSET(TPLIBS)
UNSET(TPLIB_SHARED)
UNSET(TPLIB_STATIC)
UNSET(TPLIB_BINDIR)
UNSET(lib)
ENDMACRO()
......
......@@ -63,11 +63,11 @@ IF (THIRDPARTY_BUILD_ZLIB)
IF (WIN32)
THIRDPARTY_LIBRARY(ZLIB_LIBRARY SHARED zlib
DESCRIPTION "Zlib library")
DESCRIPTION "Zlib library" BINDIR)
THIRDPARTY_LIBRARY(ZLIB_LIBRARY_DEBUG SHARED zlibd
DESCRIPTION "Zlib library")
DESCRIPTION "Zlib library" BINDIR)
THIRDPARTY_LIBRARY(ZLIB_LIBRARY_RELEASE SHARED zlib
DESCRIPTION "Zlib library")
DESCRIPTION "Zlib library" BINDIR)
ELSE ()
THIRDPARTY_LIBRARY(ZLIB_LIBRARY SHARED z
DESCRIPTION "Zlib library")
......
......@@ -204,7 +204,6 @@ SET(LinearAlgebraHeaders
./LinearAlgebra/DgemmOverride.hpp
./LinearAlgebra/DgemvOverride.hpp
./LinearAlgebra/ExplicitInstantiation.h
./LinearAlgebra/IsDgemmTraits.hpp
./LinearAlgebra/Lapack.hpp
./LinearAlgebra/MatrixBase.hpp
./LinearAlgebra/MatrixFuncs.h
......@@ -213,27 +212,19 @@ SET(LinearAlgebraHeaders
./LinearAlgebra/MatrixSize.hpp
./LinearAlgebra/MatrixStorageType.h
./LinearAlgebra/MatrixType.h
./LinearAlgebra/MatrixVectorMultiplication.hpp
./LinearAlgebra/NekLinAlgAlgorithms.hpp
./LinearAlgebra/NekLinSys.hpp
./LinearAlgebra/NekMatrixFwd.hpp
./LinearAlgebra/NekMatrix.hpp
./LinearAlgebra/NekMatrixMetadata.hpp
./LinearAlgebra/NekPoint.hpp
./LinearAlgebra/NekTypeDefs.hpp
./LinearAlgebra/NekVectorCommon.hpp
./LinearAlgebra/NekVectorConstantSized.hpp
./LinearAlgebra/NekVectorFwd.hpp
./LinearAlgebra/NekVector.hpp
./LinearAlgebra/NekVectorMetadata.hpp
./LinearAlgebra/NekVectorTypeTraits.hpp
./LinearAlgebra/NekVectorVariableSized.hpp
./LinearAlgebra/PointerWrapper.h
./LinearAlgebra/ScaledMatrix.hpp
./LinearAlgebra/Space.h
./LinearAlgebra/StandardMatrix.hpp
./LinearAlgebra/TransF77.hpp
./LinearAlgebra/StorageSmvBsr.hpp
./LinearAlgebra/NistSparseDescriptors.hpp
./LinearAlgebra/SparseDiagBlkMatrix.hpp
......
......@@ -45,8 +45,6 @@
#include <LibUtilities/LinearAlgebra/NekVectorFwd.hpp>
#include <LibUtilities/BasicUtils/OperatorGenerators.hpp>
#include <LibUtilities/BasicUtils/RawType.hpp>
#include <LibUtilities/LinearAlgebra/MatrixVectorMultiplication.hpp>
#include <LibUtilities/LinearAlgebra/NekMatrixMetadata.hpp>
#include <LibUtilities/BasicUtils/RawType.hpp>
#include <LibUtilities/LinearAlgebra/CanGetRawPtr.hpp>
......
......@@ -34,7 +34,6 @@
///////////////////////////////////////////////////////////////////////////////
#include <LibUtilities/LinearAlgebra/ExplicitInstantiation.h>
#include <LibUtilities/LinearAlgebra/MatrixVectorMultiplication.hpp>
#include <LibUtilities/LinearAlgebra/NekTypeDefs.hpp>
#include <LibUtilities/BasicUtils/ErrorUtil.hpp>
......
......@@ -39,7 +39,6 @@
#include <ExpressionTemplates/ExpressionTemplates.hpp>
#include <LibUtilities/BasicUtils/ErrorUtil.hpp>
#include <LibUtilities/BasicUtils/Concepts.hpp>
#include <LibUtilities/LinearAlgebra/Space.h>
#include <LibUtilities/BasicConst/NektarUnivTypeDefs.hpp>
#include <boost/concept_check.hpp>
......
......@@ -42,10 +42,7 @@
#include <LibUtilities/LinearAlgebra/NekPoint.hpp>
#include <LibUtilities/LinearAlgebra/NekVectorMetadata.hpp>
#include <LibUtilities/LinearAlgebra/NekVectorFwd.hpp>
#include <LibUtilities/LinearAlgebra/NekVectorConstantSized.hpp>
#include <LibUtilities/LinearAlgebra/NekVectorVariableSized.hpp>
#include <LibUtilities/LinearAlgebra/PointerWrapper.h>
#include <LibUtilities/LinearAlgebra/MatrixSize.hpp>
......
......@@ -37,7 +37,6 @@
#define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_VECTOR_FWD_HPP
#include <LibUtilities/LinearAlgebra/Space.h>
#include <boost/type_traits.hpp>
......
/////////////////////////////////////////////////////////////////////////////////
////
//// For more information, please see: http://www.nektar.info
////
//// The MIT License
////
//// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
//// Department of Aeronautics, Imperial College London (UK), and Scientific
//// Computing and Imaging Institute, University of Utah (USA).
////
//// License for the specific language governing rights and limitations under
//// Permission is hereby granted, free of charge, to any person obtaining a
//// copy of this software and associated documentation files (the "Software"),
//// to deal in the Software without restriction, including without limitation
//// the rights to use, copy, modify, merge, publish, distribute, sublicense,
//// and/or sell copies of the Software, and to permit persons to whom the
//// Software is furnished to do so, subject to the following conditions:
////
//// The above copyright notice and this permission notice shall be included
//// in all copies or substantial portions of the Software.
////
//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
//// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
//// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
//// DEALINGS IN THE SOFTWARE.
////
//// Description:
////
/////////////////////////////////////////////////////////////////////////////////
//#ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_VECTOR_VARIABLE_SIZED_HPP
//#define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_VECTOR_VARIABLE_SIZED_HPP
//#include <LibUtilities/LinearAlgebra/PointerWrapper.h>
//#include <LibUtilities/BasicUtils/SharedArray.hpp>
//#include <LibUtilities/Memory/NekMemoryManager.hpp>
//#include <LibUtilities/LinearAlgebra/NekVectorFwd.hpp>
//#include <LibUtilities/LinearAlgebra/NekMatrixFwd.hpp>
//#include <ExpressionTemplates/Node.hpp>
//#include <ExpressionTemplates/ExpressionEvaluator.hpp>
//#include <LibUtilities/LinearAlgebra/MatrixSize.hpp>
//namespace Nektar
//{
//}
//#ifdef NEKTAR_USE_EXPRESSION_TEMPLATES
//#endif
//#endif // NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_VECTOR_VARIABLE_SIZED_HPP
......@@ -42,7 +42,6 @@
#include <LibUtilities/LinearAlgebra/PointerWrapper.h>
#include <LibUtilities/LinearAlgebra/NekVectorFwd.hpp>
#include <ExpressionTemplates/ExpressionTemplates.hpp>
#include <LibUtilities/LinearAlgebra/NekMatrixMetadata.hpp>
#include <LibUtilities/LinearAlgebra/MatrixFuncs.h>
#include <LibUtilities/LinearAlgebra/MatrixSize.hpp>
......
......@@ -13,7 +13,6 @@ MeshGraph.cpp
MeshGraph1D.cpp
MeshGraph2D.cpp
MeshGraph3D.cpp
pchSpatialDomains.cpp
PrismGeom.cpp
PyrGeom.cpp
QuadGeom.cpp
......@@ -39,7 +38,6 @@ MeshGraph1D.h
MeshGraph2D.h
MeshGraph3D.h
MeshGraph.h
pchSpatialDomains.h
PrismGeom.h
PyrGeom.h
QuadGeom.h
......
......@@ -33,7 +33,6 @@
//
//
////////////////////////////////////////////////////////////////////////////////
//#include "pchSpatialDomains.h"
#include <SpatialDomains/PointGeom.h>
#include <SpatialDomains/SegGeom.h>
......
#pragma once
#ifndef NOMINMAX
#define NOMINMAX
#endif //NOMINMAX
#include <list>
#include <set>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>
#ifndef TIXML_USE_STL
#define TIXML_USE_STL
#endif
#include <tinyxml.h>
#include <boost/shared_ptr.hpp>
#include <LibUtilities/BasicUtils/ErrorUtil.hpp>
......@@ -3,19 +3,13 @@ SET(UnitTestSources
ScaledMatrixUnitTests.cpp
BlockMatrixUnitTests.cpp
testBoostUtil.cpp
testExpressionTemplates.cpp
testLinearSystem.cpp
testNekLinAlgAlgorithms.cpp
testNekManager.cpp
testNekMatrix.cpp
testNekPoint.cpp
testNekVector.cpp
testNekSharedArray.cpp
Memory/TestNekMemoryManager.cpp
StdRegions/testStdSegExp.cpp
testFoundation/testFoundation.cpp
testFoundation/testInterpolation.cpp
testFoundation/testDerivation.cpp
util.cpp
)
......@@ -25,4 +19,4 @@ ADD_NEKTAR_EXECUTABLE(UnitTests
COMPONENT unit-test DEPENDS StdRegions SOURCES ${UnitTestSources})
ADD_TEST(NAME UnitTests COMMAND UnitTests --detect_memory_leaks=0)
SUBDIRS(LibUtilities LocalRegions Collections)
\ No newline at end of file
SUBDIRS(LibUtilities LocalRegions Collections)
......@@ -36,7 +36,6 @@
#define NEKTAR_MAX_MEMORY_MANAGER_CONSTRUCTOR_ARGS 4
#include <UnitTests/Memory/TestNekMemoryManager.h>
#include <UnitTests/CountedObject.h>
#include <LibUtilities/Memory/NekMemoryManager.hpp>
......
This diff is collapsed.
/////////////////////////////////////////////////////////////////////////////////
////
//// File: testExpressionTemplates.cpp
////
//// For more information, please see: http://www.nektar.info
////
//// The MIT License
////
//// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
//// Department of Aeronautics, Imperial College London (UK), and Scientific
//// Computing and Imaging Institute, University of Utah (USA).
////
//// License for the specific language governing rights and limitations under
//// Permission is hereby granted, free of charge, to any person obtaining a
//// copy of this software and associated documentation files (the "Software"),
//// to deal in the Software without restriction, including without limitation
//// the rights to use, copy, modify, merge, publish, distribute, sublicense,
//// and/or sell copies of the Software, and to permit persons to whom the
//// Software is furnished to do so, subject to the following conditions:
////
//// The above copyright notice and this permission notice shall be included
//// in all copies or substantial portions of the Software.
////
//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
//// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
//// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
//// DEALINGS IN THE SOFTWARE.
////
//// Description:
////
/////////////////////////////////////////////////////////////////////////////////
//
//#include <UnitTests/testExpressionTemplates.h>
//#include <UnitTests/CountedObject.h>
//
//#include <LibUtilities/LinearAlgebra/NekPoint.hpp>
//#include <LibUtilities/LinearAlgebra/NekMatrix.hpp>
//
//
//#include <boost/test/auto_unit_test.hpp>
//#include <boost/test/test_case_template.hpp>
//#include <boost/test/floating_point_comparison.hpp>
//#include <boost/test/unit_test.hpp>
//#include <boost/progress.hpp>
//
//#include <iostream>
//
//using std::cout;
//using std::endl;
//
//namespace Nektar
//{
// namespace UnitTests
// {
// #ifdef NEKTAR_USE_EXPRESSION_TEMPLATES
// using namespace Nektar;
//
// BOOST_AUTO_TEST_CASE(testConstantExpressions)
// {
// using namespace Nektar;
//
// {
// int t = 7;
// Expression<ConstantExpressionPolicy<int> > e1(t);
// BOOST_CHECK_EQUAL(*e1, t);
//
// Expression<ConstantExpressionPolicy<int> > e2(e1);
// BOOST_CHECK_EQUAL(*e2, *e1);
// }
//
// typedef NekPoint<unsigned int, ThreeD> Point;
// {
// Point p(1,2,3);
// Expression<ConstantExpressionPolicy<Point> > e1(p);
//
// Point p1(e1);
// BOOST_CHECK_EQUAL(p, p1);
//
// Point p2 = e1;
// BOOST_CHECK_EQUAL(p, p2);
//
// Point p3(9, 10, 11);
// BOOST_CHECK(p != p3);
// p3 = e1;
// BOOST_CHECK_EQUAL(p, p3);
// }
//
// {
// // TODO - Find a way to prevent temporaries (meaning that the parameter to
// // this call is temporary and that could cause problems).
// //Expression<ConstantExpressionPolicy<Point> > e2(Point(1,2,3));
// }
// }
//
// BOOST_AUTO_TEST_CASE(testUnaryExpressions)
// {
//// using namespace Nektar;
////
//// NekPoint<double, 3> p(1,2,3);
//// NekPoint<double, 3> p1(-(-p));
////
//// BOOST_CHECK_EQUAL(p, p1);
////
//// NekMatrix<double, FullMatrixTag> m(3,3);
//// NekMatrix<double, FullMatrixTag> m1(-m);
// }
//
// BOOST_AUTO_TEST_CASE(testNekMatrixMetadata)
// {
//// using namespace Nektar;
////
//// // Constant
//// NekMatrix<double> m(3,3);
//// ConstantExpressionTraits<NekMatrix<double> >::MetadataType t(m);
//// expt::ExpressionMetadataChooser<ConstantExpressionTraits<NekMatrix<double> > >::MetadataType t10(m);
//// ConstantExpressionPolicy<NekMatrix<double, FullMatrixTag, StandardMatrixTag, 0, void> >::MetadataType t1(m);
//// Expression<ConstantExpressionPolicy<NekMatrix<double> > >::MetadataType t2(m);
//// Expression<ConstantExpressionPolicy<NekMatrix<double> > > m_exp(m);
//// unsigned int i = t.Rows;
//// unsigned int j = t1.Rows;
//// unsigned int k = t2.Rows;
//// unsigned int l = t10.Rows;
//// BOOST_CHECK_EQUAL(m.GetRows(), m_exp.GetMetadata().Rows);
//// BOOST_CHECK_EQUAL(m.GetColumns(), m_exp.GetMetadata().Columns);
//
// // Unary
//// NekMatrix<double> m1(3,3);
//// Expression<UnaryExpressionPolicy<Expression<ConstantExpressionPolicy<NekMatrix<double> > >, expt::NegateOp> > m1_exp =
//// Expression<UnaryExpressionPolicy<Expression<ConstantExpressionPolicy<NekMatrix<double> > >, expt::NegateOp> >(
//// Expression<ConstantExpressionPolicy<NekMatrix<double> > >(m1));
//// BOOST_CHECK_EQUAL(m1.GetRows(), m1_exp.GetMetadata().Rows);
//// BOOST_CHECK_EQUAL(m1.GetColumns(), m1_exp.GetMetadata().Columns);
//
// // Binary
// // TODO
// }
//
// BOOST_AUTO_TEST_CASE(testBinaryExpressions)
// {
// using namespace Nektar;
//
// unsigned int b1[] = {1, 2, 3, 4};
// unsigned int b2[] = {3, 4, 5, 6};
// Array<OneD, unsigned int> buf1(4, b1);
// Array<OneD, unsigned int> buf2(4, b2);
// //
// // // The following crashes because of the temporary. What to do here?
// // //Nektar::ConstantExpression<Nektar::LibUtilities::NekMatrix<unsigned int> > m1(Nektar::LibUtilities::NekMatrix<unsigned int>(2, 2, buf1));
// // //Nektar::ConstantExpression<Nektar::LibUtilities::NekMatrix<unsigned int> > m2(Nektar::LibUtilities::NekMatrix<unsigned int>(2, 2, buf2));
// //
// NekMatrix<unsigned int> lhs(2,2,buf1);
// NekMatrix<unsigned int> rhs(2,2,buf2);
// Expression<ConstantExpressionPolicy<Nektar::NekMatrix<unsigned int> > > m1(lhs);
// Expression<ConstantExpressionPolicy<Nektar::NekMatrix<unsigned int> > > m2(rhs);
//
//
// typedef ConstantExpressionPolicy<NekMatrix<unsigned int> > LhsPolicy;
// typedef ConstantExpressionPolicy<NekMatrix<unsigned int> > RhsPolicy;
// typedef BinaryExpressionPolicy<LhsPolicy, expt::AddOp, RhsPolicy> BinaryPolicy;
//
// BinaryPolicy::DataType d(m1, m2);
// Expression<BinaryPolicy> bexp(d);
//
// unsigned int result_buf[] = {4, 6, 8, 10};
// NekMatrix<unsigned int> result(2, 2, result_buf);
// NekMatrix<unsigned int> evaluated_result(bexp);
// BOOST_CHECK_EQUAL(result, evaluated_result);
//
//
//
// {
// // Nested additions.
// NekMatrix<unsigned int> m1(2,2,buf1);
// NekMatrix<unsigned int> m2(2,2,buf2);
// NekMatrix<unsigned int> m3(m1);
// NekMatrix<unsigned int> m4(m2);
//
// NekMatrix<unsigned int> m5 = ((m1+m2)+m3)+m4;
//
// unsigned int buf3[] = { 8, 12, 16, 20 };
// NekMatrix<unsigned int> nested_add_result(2,2,buf3);
//
// BOOST_CHECK_EQUAL(nested_add_result, m5);
//
// NekMatrix<unsigned int> m6 = m1 + (m2 + (m3 + m4));
// BOOST_CHECK_EQUAL(nested_add_result, m6);
// }
// }
//
// BOOST_AUTO_TEST_CASE(testNekMatrixMultiplication)
// {
// {
// unsigned int m1_buf[] = {1, 1, 1, 1};
// NekMatrix<unsigned int> m1(2,2,m1_buf);
// NekMatrix<unsigned int> m2(2,2,m1_buf);
//
// unsigned int result_buf[] = {2, 2, 2, 2};
// NekMatrix<unsigned int> result(2,2,result_buf);
// NekMatrix<unsigned int> m3 = m1*m2;
// BOOST_CHECK_EQUAL(m3, result);
// }
//
// double m1_buf[] = {-85, -55, -37, -35, 97, 50, 79, 56, 49};
// double m2_buf[] = {63, 57, -59, 45, -8, -93, 92, 43, -62};
// double m3_buf[] = {77, 66, 54, -5, 99, -61, -50, -12, -18};
//
// NekMatrix<double> m1(3, 3, m1_buf);
// NekMatrix<double> m2(3, 3, m2_buf);
// NekMatrix<double> m3(3, 3, m3_buf);
//
// NekMatrix<double> result = m1*m2*m3;
//
// double result_buf[] = { -2411761, -889268, -851464, -150650, -565220, -381906, 987268, 242006, 275320 };
// NekMatrix<double> expectedResult(3, 3, result_buf);
//
// double epsilon = 1e-11;
// for(unsigned int i = 0; i < 3; ++i)
// {
// for(unsigned int j = 0; j < 3; ++j)
// {
// BOOST_CHECK_CLOSE(*result(i,j), *expectedResult(i,j), epsilon);
// }
// }
// }
//
// BOOST_AUTO_TEST_CASE(testNekMatrixSomewhatComplicatedExpression)
// {
// {
// double m1_buf[] = {-85, -55, -37, -35, 97, 50, 79, 56, 49};
// double m2_buf[] = {63, 57, -59, 45, -8, -93, 92, 43, -62};
// double m3_buf[] = {77, 66, 54, -5, 99, -61, -50, -12, -18};
//
// NekMatrix<double> m1(3, 3, m1_buf);
// NekMatrix<double> m2(3, 3, m2_buf);
// NekMatrix<double> m3(3, 3, m3_buf);
//
// NekMatrix<double> result = (m1*m2) + m3;
//
// double result_buf[] = { -11934, -1174, -2318, -10897, -8360, -6683, -14273, -4373, -4310 };
// NekMatrix<double> expectedResult(3,3,result_buf);
// double epsilon = 1e-11;
// for(unsigned int i = 0; i < 3; ++i)
// {
// for(unsigned int j = 0; j < 3; ++j)
// {
// BOOST_CHECK_CLOSE(*result(i,j), *expectedResult(i,j), epsilon);
// }
// }
//
// NekMatrix<double> result1 = m3 + (m1*m2);
// for(unsigned int i = 0; i < 3; ++i)
// {
// for(unsigned int j = 0; j < 3; ++j)
// {
// BOOST_CHECK_CLOSE(*result1(i,j), *expectedResult(i,j), epsilon);
// }
// }
// }
// }
//
// BOOST_AUTO_TEST_CASE(testNekMatrixComplicatedExpression)
// {
// {
// double m1_buf[] = {-85, -55, -37, -35, 97, 50, 79, 56, 49};
// double m2_buf[] = {63, 57, -59, 45, -8, -93, 92, 43, -62};
// double m3_buf[] = {31, -26, -62, 1, -47, -91, -47, -61, 41};
//
// NekMatrix<double> m1(3, 3, m1_buf);
// NekMatrix<double> m2(3, 3, m2_buf);
// NekMatrix<double> m3(3, 3, m3_buf);
//
// NekMatrix<double> result = (((m3-m1)*m3) * (m1-m2)) + m1*m2*m3;
// double result_buf[] = { -2146767, -3204880, -749636, 162494, 2048276, 2549188, -784134, 758853, 1439441 };
//
// NekMatrix<double> expectedResult(3,3,result_buf);
//
// double epsilon = 1e-11;
// for(unsigned int i = 0; i < 3; ++i)
// {
// for(unsigned int j = 0; j < 3; ++j)
// {
// BOOST_CHECK_CLOSE(*result(i,j), *expectedResult(i,j), epsilon);
// }
// }
// }
// }
//