From: Daniel Arndt Date: Sat, 19 Aug 2017 00:37:30 +0000 (+0200) Subject: Mark conversion constructors of SymmetricTensor and Tensor as 'explicit' X-Git-Tag: v9.0.0-rc1~1202^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d311f0f4834acdd0b5844a1adbe24cec0e6a4ba;p=dealii.git Mark conversion constructors of SymmetricTensor and Tensor as 'explicit' --- diff --git a/include/deal.II/base/symmetric_tensor.h b/include/deal.II/base/symmetric_tensor.h index 02186b65f8..b2e680b45f 100644 --- a/include/deal.II/base/symmetric_tensor.h +++ b/include/deal.II/base/symmetric_tensor.h @@ -551,7 +551,7 @@ public: * symmetrize function first. If you aren't sure, it is good * practice to check before calling symmetrize. */ - SymmetricTensor (const Tensor<2,dim,Number> &t); + explicit SymmetricTensor (const Tensor<2,dim,Number> &t); /** * A constructor that creates a symmetric tensor from an array holding its diff --git a/include/deal.II/base/tensor.h b/include/deal.II/base/tensor.h index 90371ec7bc..d6982e69b3 100644 --- a/include/deal.II/base/tensor.h +++ b/include/deal.II/base/tensor.h @@ -378,7 +378,7 @@ public: /** * Constructor, where the data is copied from a C-style array. */ - Tensor (const array_type &initializer); + explicit Tensor (const array_type &initializer); /** * Constructor from tensors with different underlying scalar type. This @@ -816,7 +816,7 @@ inline Tensor::Tensor (const array_type &initializer) { for (unsigned int i=0; i(initializer[i]); } @@ -826,7 +826,7 @@ inline Tensor::Tensor (const Tensor &initializer) { for (unsigned int i=0; i!=dim; ++i) - values[i] = initializer[i]; + values[i] = Tensor(initializer[i]); } diff --git a/tests/base/symmetric_tensor_28.cc b/tests/base/symmetric_tensor_28.cc index 8b395cf476..45499b57ec 100644 --- a/tests/base/symmetric_tensor_28.cc +++ b/tests/base/symmetric_tensor_28.cc @@ -32,7 +32,7 @@ void test () s[i][j] = (i+1) * (j+1); Tensor<2,dim> t = s; - SymmetricTensor<2,dim> u = t; + SymmetricTensor<2,dim> u (t); for (unsigned int i=0; i f = { {1., 2.} }; - dealii::Tensor<1,2,double> d = { {4., 8.} }; - dealii::Tensor<1,2,std::complex > c = { {16., 32.} }; + dealii::Tensor<1,2,float> f ({1., 2.}); + dealii::Tensor<1,2,double> d ({4., 8.}); + dealii::Tensor<1,2,std::complex > c ({16., 32.}); deallog << f + d << std::endl; deallog << f - d << std::endl; @@ -82,9 +82,9 @@ int main () } { - dealii::Tensor<1,3,float> f = { {1., 2., 4.} }; - dealii::Tensor<1,3,double> d = { {4., 8., 16.} }; - dealii::Tensor<1,3,std::complex > c = { {32., 64., 128.} }; + dealii::Tensor<1,3,float> f ({1., 2., 4.}); + dealii::Tensor<1,3,double> d ({4., 8., 16.}); + dealii::Tensor<1,3,std::complex > c ({32., 64., 128.}); deallog << f + d << std::endl; deallog << f - d << std::endl; diff --git a/tests/fe/fe_values_view_02.cc b/tests/fe/fe_values_view_02.cc index 58ded881ab..ba430ce11c 100644 --- a/tests/fe/fe_values_view_02.cc +++ b/tests/fe/fe_values_view_02.cc @@ -91,8 +91,9 @@ void test (const Triangulation &tr, AssertThrow (fe_values[vec_components].symmetric_gradient (i,q) == - (fe_values[vec_components].gradient(i,q) + - transpose(fe_values[vec_components].gradient(i,q)))/2, + decltype(fe_values[vec_components].symmetric_gradient (i,q)) + ( (fe_values[vec_components].gradient(i,q) + + transpose(fe_values[vec_components].gradient(i,q)))/2 ), ExcInternalError()); AssertThrow (fe_values[vec_components].hessian (i,q)[d] diff --git a/tests/fe/fe_values_view_04.cc b/tests/fe/fe_values_view_04.cc index ae7577954a..7cf78b10af 100644 --- a/tests/fe/fe_values_view_04.cc +++ b/tests/fe/fe_values_view_04.cc @@ -96,8 +96,9 @@ void test (const Triangulation &tr, AssertThrow (fe_values[vec_components].symmetric_gradient (i,q) == - (fe_values[vec_components].gradient(i,q) + - transpose(fe_values[vec_components].gradient(i,q)))/2, + decltype(fe_values[vec_components].symmetric_gradient (i,q)) + ( (fe_values[vec_components].gradient(i,q) + + transpose(fe_values[vec_components].gradient(i,q)))/2 ), ExcInternalError()); AssertThrow (fe_values[vec_components].hessian (i,q)[d] diff --git a/tests/serialization/symmetric_tensor.cc b/tests/serialization/symmetric_tensor.cc index 2c47501837..4df973c574 100644 --- a/tests/serialization/symmetric_tensor.cc +++ b/tests/serialization/symmetric_tensor.cc @@ -29,14 +29,14 @@ void test () {2., 5., 6.}, {3., 6., 9.} }; - SymmetricTensor t1(a1); + SymmetricTensor t1((Tensor(a1))); double a2[3][3] = {{10., 11., 12.}, {11., 14., 15.}, {12., 15., 18.} }; - SymmetricTensor t2(a2); + SymmetricTensor t2((Tensor(a2))); verify (t1, t2); } @@ -44,9 +44,7 @@ void test () int main () { - std::ofstream logfile("output"); - deallog << std::setprecision(3); - deallog.attach(logfile); + initlog(); test ();