From: Jean-Paul Pelteret Date: Thu, 17 Aug 2017 16:54:08 +0000 (+0200) Subject: Added test for symmetric tensor operations with generic number types X-Git-Tag: v9.0.0-rc1~1196^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a47177ac516dcae10d96fb2bc1e3e1827d106461;p=dealii.git Added test for symmetric tensor operations with generic number types --- diff --git a/tests/base/symmetric_tensor_44.cc b/tests/base/symmetric_tensor_44.cc new file mode 100644 index 0000000000..ce61dcd9a2 --- /dev/null +++ b/tests/base/symmetric_tensor_44.cc @@ -0,0 +1,246 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2017 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +// Test the general number capability of symmetric and normal tensors + +#include "../tests.h" +#include +#include + +#include + +template +void fill_tensor (SymmetricTensor &t) +{ + for (unsigned int i=0; i!=t.n_independent_components; ++i) + { + t.access_raw_entry(i) = i+1; + } +} + + +template +void fill_tensor (Tensor &t) +{ + for (unsigned int i=0; i!=t.n_independent_components; ++i) + { + t[t.unrolled_to_component_indices(i)] = i+1; + } +} + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +void print (const TensorType1<2,dim,NumberType1> &t2, + const TensorType2<4,dim,NumberType2> &t4) +{ + deallog << t2 << std::endl; + deallog << t4 << std::endl; +} + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +void print (const TensorType1<2,dim,NumberType1> &t2_1, + const TensorType2<2,dim,NumberType2> &t2_2, + const TensorType1<4,dim,NumberType1> &t4_1, + const TensorType2<4,dim,NumberType2> &t4_2) +{ + deallog << t2_1 << std::endl; + deallog << t2_2 << std::endl; + deallog << t4_1 << std::endl; + deallog << t4_2 << std::endl; +} + + +template class TensorType1, + template class TensorType2> +struct AreSame : std::false_type +{}; + +template class TensorType1> +struct AreSame : std::true_type +{}; + + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +void test_one () +{ + const unsigned int dim = 2; + TensorType1<2,dim,NumberType1> t2_1; + TensorType2<2,dim,NumberType2> t2_2; + TensorType1<4,dim,NumberType1> t4_1; + TensorType2<4,dim,NumberType2> t4_2; + + deallog << "Fill" << std::endl; + fill_tensor(t2_1); + fill_tensor(t2_2); + fill_tensor(t4_1); + fill_tensor(t4_2); + print(t2_1,t2_2,t4_1,t4_2); + + deallog << "Product / Division" << std::endl; + t2_1 *= 2.0; + t2_2 /= 2.0; + t4_1 *= 2.0; + t4_2 /= 2.0; + print(t2_1,t2_2,t4_1,t4_2); + + deallog << "Operator * (single / double contraction)" << std::endl; + deallog << (t2_1*t2_2) << std::endl; + deallog << (t4_1*t4_2) << std::endl; + + deallog << "Scalar product" << std::endl; + deallog << scalar_product(t2_1,t2_2) << std::endl; +} + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +typename std::enable_if::value>::type +test_two () +{ + const unsigned int dim = 2; + TensorType1<2,dim,NumberType1> t2_1; + TensorType1<2,dim,NumberType2> t2_2; + TensorType1<4,dim,NumberType1> t4_1; + TensorType1<4,dim,NumberType2> t4_2; + + deallog << "Fill" << std::endl; + fill_tensor(t2_1); + fill_tensor(t4_1); + print(t2_1,t2_2,t4_1,t4_2); + + deallog << "Equals" << std::endl; + t2_2 = t2_1; + t4_2 = t4_1; + deallog << t2_2 << std::endl; + deallog << t4_2 << std::endl; + + deallog << "Zero" << std::endl; + t2_1 = 0; + t4_1 = 0; + deallog << t2_1 << std::endl; + deallog << t4_1 << std::endl; + + deallog << "Cast" << std::endl; + t2_2 = static_cast (t2_1); + t4_2 = static_cast (t4_1); + deallog << t2_2 << std::endl; + deallog << t4_2 << std::endl; + + deallog << "In place addition" << std::endl; + t2_1 += t2_2; + t4_1 += t4_2; + deallog << t2_1 << std::endl; + deallog << t4_1 << std::endl; + print(t2_1,t4_1); + + deallog << "In place subtraction" << std::endl; + t2_1 -= t2_2; + t4_1 -= t4_2; + print(t2_1,t4_1); + + deallog << "Operator * (double contraction)" << std::endl; + deallog << (t2_1*t2_2) << std::endl; + deallog << (t4_1*t4_2) << std::endl; +} + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +typename std::enable_if::value>::type +test_two () +{} + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +typename std::enable_if<( + AreSame::value && + AreSame::value)>::type +test_three () +{ + const unsigned int dim = 2; + TensorType1<2,dim,NumberType1> t2_1; + TensorType1<4,dim,NumberType2> t4_2; + + fill_tensor(t2_1); + fill_tensor(t4_2); + + deallog << "Double contract" << std::endl; + TensorType1<2,dim,typename ProductType::type> res_dc; + double_contract(res_dc,t4_2,t2_1); + deallog << res_dc << std::endl; + double_contract(res_dc,t2_1,t4_2); + deallog << res_dc << std::endl; +} + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +typename std::enable_if::value && + AreSame::value)>::type +test_three () +{} + + +template class TensorType1, typename NumberType1, + template class TensorType2, typename NumberType2> +void test_all () +{ + test_one(); + test_two(); + test_three(); +} + +template +void test_T () +{ + deallog.push("ST,ST"); + test_all(); + deallog.pop(); + + deallog.push("T,T"); + test_all(); + deallog.pop(); + + deallog.push("ST,T"); + test_all(); + deallog.pop(); + + deallog.push("T,ST"); + test_all(); + deallog.pop(); +} + +int main () +{ + initlog(); + + // Benchmark results for same types + deallog.push("d,d"); + test_T(); + deallog.pop(); + + // Differing number types: + deallog.push("d,f"); + test_T(); + deallog.pop(); + deallog.push("f,d"); + test_T(); + deallog.pop(); + + deallog << "OK" << std::endl; +} diff --git a/tests/base/symmetric_tensor_44.output b/tests/base/symmetric_tensor_44.output new file mode 100644 index 0000000000..64eb0c2e4f --- /dev/null +++ b/tests/base/symmetric_tensor_44.output @@ -0,0 +1,341 @@ + +DEAL:d,d:ST,ST::Fill +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,d:ST,ST::Product / Division +DEAL:d,d:ST,ST::2.00000 6.00000 6.00000 4.00000 +DEAL:d,d:ST,ST::0.500000 1.50000 1.50000 1.00000 +DEAL:d,d:ST,ST::2.00000 6.00000 6.00000 4.00000 14.0000 18.0000 18.0000 16.0000 14.0000 18.0000 18.0000 16.0000 8.00000 12.0000 12.0000 10.0000 +DEAL:d,d:ST,ST::0.500000 1.50000 1.50000 1.00000 3.50000 4.50000 4.50000 4.00000 3.50000 4.50000 4.50000 4.00000 2.00000 3.00000 3.00000 2.50000 +DEAL:d,d:ST,ST::Operator * (single / double contraction) +DEAL:d,d:ST,ST::23.0000 +DEAL:d,d:ST,ST::51.0000 69.0000 69.0000 60.0000 165.000 231.000 231.000 198.000 165.000 231.000 231.000 198.000 108.000 150.000 150.000 129.000 +DEAL:d,d:ST,ST::Scalar product +DEAL:d,d:ST,ST::23.0000 +DEAL:d,d:ST,ST::Fill +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::Equals +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,d:ST,ST::Zero +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::Cast +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::In place addition +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::In place subtraction +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::Operator * (double contraction) +DEAL:d,d:ST,ST::0.00000 +DEAL:d,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,ST::Double contract +DEAL:d,d:ST,ST::23.0000 77.0000 77.0000 50.0000 +DEAL:d,d:ST,ST::50.0000 90.0000 90.0000 68.0000 +DEAL:d,d:T,T::Fill +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,d:T,T::Product / Division +DEAL:d,d:T,T::2.00000 4.00000 6.00000 8.00000 +DEAL:d,d:T,T::0.500000 1.00000 1.50000 2.00000 +DEAL:d,d:T,T::2.00000 4.00000 6.00000 8.00000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000 22.0000 24.0000 26.0000 28.0000 30.0000 32.0000 +DEAL:d,d:T,T::0.500000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 +DEAL:d,d:T,T::Operator * (single / double contraction) +DEAL:d,d:T,T::7.00000 10.0000 15.0000 22.0000 +DEAL:d,d:T,T::19.0000 22.0000 25.0000 28.0000 31.0000 34.0000 37.0000 40.0000 39.0000 46.0000 53.0000 60.0000 67.0000 74.0000 81.0000 88.0000 59.0000 70.0000 81.0000 92.0000 103.000 114.000 125.000 136.000 79.0000 94.0000 109.000 124.000 139.000 154.000 169.000 184.000 99.0000 118.000 137.000 156.000 175.000 194.000 213.000 232.000 119.000 142.000 165.000 188.000 211.000 234.000 257.000 280.000 139.000 166.000 193.000 220.000 247.000 274.000 301.000 328.000 159.000 190.000 221.000 252.000 283.000 314.000 345.000 376.000 +DEAL:d,d:T,T::Scalar product +DEAL:d,d:T,T::30.0000 +DEAL:d,d:T,T::Fill +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::Equals +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,d:T,T::Zero +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::Cast +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::In place addition +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::In place subtraction +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::Operator * (double contraction) +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,d:ST,T::Fill +DEAL:d,d:ST,T::1.00000 3.00000 3.00000 2.00000 +DEAL:d,d:ST,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,d:ST,T::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,d:ST,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,d:ST,T::Product / Division +DEAL:d,d:ST,T::2.00000 6.00000 6.00000 4.00000 +DEAL:d,d:ST,T::0.500000 1.00000 1.50000 2.00000 +DEAL:d,d:ST,T::2.00000 6.00000 6.00000 4.00000 14.0000 18.0000 18.0000 16.0000 14.0000 18.0000 18.0000 16.0000 8.00000 12.0000 12.0000 10.0000 +DEAL:d,d:ST,T::0.500000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 +DEAL:d,d:ST,T::Operator * (single / double contraction) +DEAL:d,d:ST,T::10.0000 14.0000 9.00000 14.0000 +DEAL:d,d:ST,T::28.0000 32.0000 36.0000 40.0000 44.0000 48.0000 52.0000 56.0000 21.0000 26.0000 31.0000 36.0000 41.0000 46.0000 51.0000 56.0000 88.0000 104.000 120.000 136.000 152.000 168.000 184.000 200.000 81.0000 98.0000 115.000 132.000 149.000 166.000 183.000 200.000 88.0000 104.000 120.000 136.000 152.000 168.000 184.000 200.000 81.0000 98.0000 115.000 132.000 149.000 166.000 183.000 200.000 58.0000 68.0000 78.0000 88.0000 98.0000 108.000 118.000 128.000 51.0000 62.0000 73.0000 84.0000 95.0000 106.000 117.000 128.000 +DEAL:d,d:ST,T::Scalar product +DEAL:d,d:ST,T::24.0000 +DEAL:d,d:T,ST::Fill +DEAL:d,d:T,ST::1.00000 2.00000 3.00000 4.00000 +DEAL:d,d:T,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,d:T,ST::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,d:T,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,d:T,ST::Product / Division +DEAL:d,d:T,ST::2.00000 4.00000 6.00000 8.00000 +DEAL:d,d:T,ST::0.500000 1.50000 1.50000 1.00000 +DEAL:d,d:T,ST::2.00000 4.00000 6.00000 8.00000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000 22.0000 24.0000 26.0000 28.0000 30.0000 32.0000 +DEAL:d,d:T,ST::0.500000 1.50000 1.50000 1.00000 3.50000 4.50000 4.50000 4.00000 3.50000 4.50000 4.50000 4.00000 2.00000 3.00000 3.00000 2.50000 +DEAL:d,d:T,ST::Operator * (single / double contraction) +DEAL:d,d:T,ST::7.00000 7.00000 15.0000 17.0000 +DEAL:d,d:T,ST::15.0000 21.0000 21.0000 18.0000 15.0000 21.0000 21.0000 18.0000 31.0000 45.0000 45.0000 38.0000 37.0000 51.0000 51.0000 44.0000 47.0000 69.0000 69.0000 58.0000 59.0000 81.0000 81.0000 70.0000 63.0000 93.0000 93.0000 78.0000 81.0000 111.000 111.000 96.0000 79.0000 117.000 117.000 98.0000 103.000 141.000 141.000 122.000 95.0000 141.000 141.000 118.000 125.000 171.000 171.000 148.000 111.000 165.000 165.000 138.000 147.000 201.000 201.000 174.000 127.000 189.000 189.000 158.000 169.000 231.000 231.000 200.000 +DEAL:d,d:T,ST::Scalar product +DEAL:d,d:T,ST::24.0000 +DEAL:d,f:ST,ST::Fill +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,f:ST,ST::Product / Division +DEAL:d,f:ST,ST::2.00000 6.00000 6.00000 4.00000 +DEAL:d,f:ST,ST::0.500000 1.50000 1.50000 1.00000 +DEAL:d,f:ST,ST::2.00000 6.00000 6.00000 4.00000 14.0000 18.0000 18.0000 16.0000 14.0000 18.0000 18.0000 16.0000 8.00000 12.0000 12.0000 10.0000 +DEAL:d,f:ST,ST::0.500000 1.50000 1.50000 1.00000 3.50000 4.50000 4.50000 4.00000 3.50000 4.50000 4.50000 4.00000 2.00000 3.00000 3.00000 2.50000 +DEAL:d,f:ST,ST::Operator * (single / double contraction) +DEAL:d,f:ST,ST::23.0000 +DEAL:d,f:ST,ST::51.0000 69.0000 69.0000 60.0000 165.000 231.000 231.000 198.000 165.000 231.000 231.000 198.000 108.000 150.000 150.000 129.000 +DEAL:d,f:ST,ST::Scalar product +DEAL:d,f:ST,ST::23.0000 +DEAL:d,f:ST,ST::Fill +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::Equals +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,f:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,f:ST,ST::Zero +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::Cast +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::In place addition +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::In place subtraction +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::Operator * (double contraction) +DEAL:d,f:ST,ST::0.00000 +DEAL:d,f:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,ST::Double contract +DEAL:d,f:ST,ST::23.0000 77.0000 77.0000 50.0000 +DEAL:d,f:ST,ST::50.0000 90.0000 90.0000 68.0000 +DEAL:d,f:T,T::Fill +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,f:T,T::Product / Division +DEAL:d,f:T,T::2.00000 4.00000 6.00000 8.00000 +DEAL:d,f:T,T::0.500000 1.00000 1.50000 2.00000 +DEAL:d,f:T,T::2.00000 4.00000 6.00000 8.00000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000 22.0000 24.0000 26.0000 28.0000 30.0000 32.0000 +DEAL:d,f:T,T::0.500000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 +DEAL:d,f:T,T::Operator * (single / double contraction) +DEAL:d,f:T,T::7.00000 10.0000 15.0000 22.0000 +DEAL:d,f:T,T::19.0000 22.0000 25.0000 28.0000 31.0000 34.0000 37.0000 40.0000 39.0000 46.0000 53.0000 60.0000 67.0000 74.0000 81.0000 88.0000 59.0000 70.0000 81.0000 92.0000 103.000 114.000 125.000 136.000 79.0000 94.0000 109.000 124.000 139.000 154.000 169.000 184.000 99.0000 118.000 137.000 156.000 175.000 194.000 213.000 232.000 119.000 142.000 165.000 188.000 211.000 234.000 257.000 280.000 139.000 166.000 193.000 220.000 247.000 274.000 301.000 328.000 159.000 190.000 221.000 252.000 283.000 314.000 345.000 376.000 +DEAL:d,f:T,T::Scalar product +DEAL:d,f:T,T::30.0000 +DEAL:d,f:T,T::Fill +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::Equals +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,f:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,f:T,T::Zero +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::Cast +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::In place addition +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::In place subtraction +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::Operator * (double contraction) +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:d,f:ST,T::Fill +DEAL:d,f:ST,T::1.00000 3.00000 3.00000 2.00000 +DEAL:d,f:ST,T::1.00000 2.00000 3.00000 4.00000 +DEAL:d,f:ST,T::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,f:ST,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,f:ST,T::Product / Division +DEAL:d,f:ST,T::2.00000 6.00000 6.00000 4.00000 +DEAL:d,f:ST,T::0.500000 1.00000 1.50000 2.00000 +DEAL:d,f:ST,T::2.00000 6.00000 6.00000 4.00000 14.0000 18.0000 18.0000 16.0000 14.0000 18.0000 18.0000 16.0000 8.00000 12.0000 12.0000 10.0000 +DEAL:d,f:ST,T::0.500000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 +DEAL:d,f:ST,T::Operator * (single / double contraction) +DEAL:d,f:ST,T::10.0000 14.0000 9.00000 14.0000 +DEAL:d,f:ST,T::28.0000 32.0000 36.0000 40.0000 44.0000 48.0000 52.0000 56.0000 21.0000 26.0000 31.0000 36.0000 41.0000 46.0000 51.0000 56.0000 88.0000 104.000 120.000 136.000 152.000 168.000 184.000 200.000 81.0000 98.0000 115.000 132.000 149.000 166.000 183.000 200.000 88.0000 104.000 120.000 136.000 152.000 168.000 184.000 200.000 81.0000 98.0000 115.000 132.000 149.000 166.000 183.000 200.000 58.0000 68.0000 78.0000 88.0000 98.0000 108.000 118.000 128.000 51.0000 62.0000 73.0000 84.0000 95.0000 106.000 117.000 128.000 +DEAL:d,f:ST,T::Scalar product +DEAL:d,f:ST,T::24.0000 +DEAL:d,f:T,ST::Fill +DEAL:d,f:T,ST::1.00000 2.00000 3.00000 4.00000 +DEAL:d,f:T,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:d,f:T,ST::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:d,f:T,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:d,f:T,ST::Product / Division +DEAL:d,f:T,ST::2.00000 4.00000 6.00000 8.00000 +DEAL:d,f:T,ST::0.500000 1.50000 1.50000 1.00000 +DEAL:d,f:T,ST::2.00000 4.00000 6.00000 8.00000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000 22.0000 24.0000 26.0000 28.0000 30.0000 32.0000 +DEAL:d,f:T,ST::0.500000 1.50000 1.50000 1.00000 3.50000 4.50000 4.50000 4.00000 3.50000 4.50000 4.50000 4.00000 2.00000 3.00000 3.00000 2.50000 +DEAL:d,f:T,ST::Operator * (single / double contraction) +DEAL:d,f:T,ST::7.00000 7.00000 15.0000 17.0000 +DEAL:d,f:T,ST::15.0000 21.0000 21.0000 18.0000 15.0000 21.0000 21.0000 18.0000 31.0000 45.0000 45.0000 38.0000 37.0000 51.0000 51.0000 44.0000 47.0000 69.0000 69.0000 58.0000 59.0000 81.0000 81.0000 70.0000 63.0000 93.0000 93.0000 78.0000 81.0000 111.000 111.000 96.0000 79.0000 117.000 117.000 98.0000 103.000 141.000 141.000 122.000 95.0000 141.000 141.000 118.000 125.000 171.000 171.000 148.000 111.000 165.000 165.000 138.000 147.000 201.000 201.000 174.000 127.000 189.000 189.000 158.000 169.000 231.000 231.000 200.000 +DEAL:d,f:T,ST::Scalar product +DEAL:d,f:T,ST::24.0000 +DEAL:f,d:ST,ST::Fill +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:f,d:ST,ST::Product / Division +DEAL:f,d:ST,ST::2.00000 6.00000 6.00000 4.00000 +DEAL:f,d:ST,ST::0.500000 1.50000 1.50000 1.00000 +DEAL:f,d:ST,ST::2.00000 6.00000 6.00000 4.00000 14.0000 18.0000 18.0000 16.0000 14.0000 18.0000 18.0000 16.0000 8.00000 12.0000 12.0000 10.0000 +DEAL:f,d:ST,ST::0.500000 1.50000 1.50000 1.00000 3.50000 4.50000 4.50000 4.00000 3.50000 4.50000 4.50000 4.00000 2.00000 3.00000 3.00000 2.50000 +DEAL:f,d:ST,ST::Operator * (single / double contraction) +DEAL:f,d:ST,ST::23.0000 +DEAL:f,d:ST,ST::51.0000 69.0000 69.0000 60.0000 165.000 231.000 231.000 198.000 165.000 231.000 231.000 198.000 108.000 150.000 150.000 129.000 +DEAL:f,d:ST,ST::Scalar product +DEAL:f,d:ST,ST::23.0000 +DEAL:f,d:ST,ST::Fill +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::Equals +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:f,d:ST,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:f,d:ST,ST::Zero +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::Cast +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::In place addition +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::In place subtraction +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::Operator * (double contraction) +DEAL:f,d:ST,ST::0.00000 +DEAL:f,d:ST,ST::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,ST::Double contract +DEAL:f,d:ST,ST::23.0000 77.0000 77.0000 50.0000 +DEAL:f,d:ST,ST::50.0000 90.0000 90.0000 68.0000 +DEAL:f,d:T,T::Fill +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:f,d:T,T::Product / Division +DEAL:f,d:T,T::2.00000 4.00000 6.00000 8.00000 +DEAL:f,d:T,T::0.500000 1.00000 1.50000 2.00000 +DEAL:f,d:T,T::2.00000 4.00000 6.00000 8.00000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000 22.0000 24.0000 26.0000 28.0000 30.0000 32.0000 +DEAL:f,d:T,T::0.500000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 +DEAL:f,d:T,T::Operator * (single / double contraction) +DEAL:f,d:T,T::7.00000 10.0000 15.0000 22.0000 +DEAL:f,d:T,T::19.0000 22.0000 25.0000 28.0000 31.0000 34.0000 37.0000 40.0000 39.0000 46.0000 53.0000 60.0000 67.0000 74.0000 81.0000 88.0000 59.0000 70.0000 81.0000 92.0000 103.000 114.000 125.000 136.000 79.0000 94.0000 109.000 124.000 139.000 154.000 169.000 184.000 99.0000 118.000 137.000 156.000 175.000 194.000 213.000 232.000 119.000 142.000 165.000 188.000 211.000 234.000 257.000 280.000 139.000 166.000 193.000 220.000 247.000 274.000 301.000 328.000 159.000 190.000 221.000 252.000 283.000 314.000 345.000 376.000 +DEAL:f,d:T,T::Scalar product +DEAL:f,d:T,T::30.0000 +DEAL:f,d:T,T::Fill +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::Equals +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 +DEAL:f,d:T,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:f,d:T,T::Zero +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::Cast +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::In place addition +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::In place subtraction +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::Operator * (double contraction) +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:T,T::0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 +DEAL:f,d:ST,T::Fill +DEAL:f,d:ST,T::1.00000 3.00000 3.00000 2.00000 +DEAL:f,d:ST,T::1.00000 2.00000 3.00000 4.00000 +DEAL:f,d:ST,T::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:f,d:ST,T::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:f,d:ST,T::Product / Division +DEAL:f,d:ST,T::2.00000 6.00000 6.00000 4.00000 +DEAL:f,d:ST,T::0.500000 1.00000 1.50000 2.00000 +DEAL:f,d:ST,T::2.00000 6.00000 6.00000 4.00000 14.0000 18.0000 18.0000 16.0000 14.0000 18.0000 18.0000 16.0000 8.00000 12.0000 12.0000 10.0000 +DEAL:f,d:ST,T::0.500000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 +DEAL:f,d:ST,T::Operator * (single / double contraction) +DEAL:f,d:ST,T::10.0000 14.0000 9.00000 14.0000 +DEAL:f,d:ST,T::28.0000 32.0000 36.0000 40.0000 44.0000 48.0000 52.0000 56.0000 21.0000 26.0000 31.0000 36.0000 41.0000 46.0000 51.0000 56.0000 88.0000 104.000 120.000 136.000 152.000 168.000 184.000 200.000 81.0000 98.0000 115.000 132.000 149.000 166.000 183.000 200.000 88.0000 104.000 120.000 136.000 152.000 168.000 184.000 200.000 81.0000 98.0000 115.000 132.000 149.000 166.000 183.000 200.000 58.0000 68.0000 78.0000 88.0000 98.0000 108.000 118.000 128.000 51.0000 62.0000 73.0000 84.0000 95.0000 106.000 117.000 128.000 +DEAL:f,d:ST,T::Scalar product +DEAL:f,d:ST,T::24.0000 +DEAL:f,d:T,ST::Fill +DEAL:f,d:T,ST::1.00000 2.00000 3.00000 4.00000 +DEAL:f,d:T,ST::1.00000 3.00000 3.00000 2.00000 +DEAL:f,d:T,ST::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 +DEAL:f,d:T,ST::1.00000 3.00000 3.00000 2.00000 7.00000 9.00000 9.00000 8.00000 7.00000 9.00000 9.00000 8.00000 4.00000 6.00000 6.00000 5.00000 +DEAL:f,d:T,ST::Product / Division +DEAL:f,d:T,ST::2.00000 4.00000 6.00000 8.00000 +DEAL:f,d:T,ST::0.500000 1.50000 1.50000 1.00000 +DEAL:f,d:T,ST::2.00000 4.00000 6.00000 8.00000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000 22.0000 24.0000 26.0000 28.0000 30.0000 32.0000 +DEAL:f,d:T,ST::0.500000 1.50000 1.50000 1.00000 3.50000 4.50000 4.50000 4.00000 3.50000 4.50000 4.50000 4.00000 2.00000 3.00000 3.00000 2.50000 +DEAL:f,d:T,ST::Operator * (single / double contraction) +DEAL:f,d:T,ST::7.00000 7.00000 15.0000 17.0000 +DEAL:f,d:T,ST::15.0000 21.0000 21.0000 18.0000 15.0000 21.0000 21.0000 18.0000 31.0000 45.0000 45.0000 38.0000 37.0000 51.0000 51.0000 44.0000 47.0000 69.0000 69.0000 58.0000 59.0000 81.0000 81.0000 70.0000 63.0000 93.0000 93.0000 78.0000 81.0000 111.000 111.000 96.0000 79.0000 117.000 117.000 98.0000 103.000 141.000 141.000 122.000 95.0000 141.000 141.000 118.000 125.000 171.000 171.000 148.000 111.000 165.000 165.000 138.000 147.000 201.000 201.000 174.000 127.000 189.000 189.000 158.000 169.000 231.000 231.000 200.000 +DEAL:f,d:T,ST::Scalar product +DEAL:f,d:T,ST::24.0000 +DEAL::OK