Cater for 32bit architecture where size_t is unsigned int.
Using long unsigned int breaks compilation on 32bit architectures for no reason
Compile errors fixed on 32bit are:
cd /<<PKGBUILDDIR>>/build/dune/functions/analyticfunctions/test && /usr/bin/c++ -DHAVE_CONFIG_H -DHAVE_MPI=1 -DHAVE_SUPERLU=1 -DMPICH_SKIP_MPICXX=1 -DMPIPP_H -DMPI_NO_CPPBIND=1 -DModelP -DOMPI_SKIP_MPICXX=1 -D_MPICC_H -I/<<PKGBUILDDIR>>/build -I/<<PKGBUILDDIR>> -I/<<PKGBUILDDIR>>/build/include -I/<<PKGBUILDDIR>>/build/include_private -isystem /usr/lib/arm-linux-gnueabi/mpich/include -isystem /usr/include/superlu -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIE -MD -MT dune/functions/analyticfunctions/test/CMakeFiles/polynomialtest.dir/polynomialtest.cc.o -MF CMakeFiles/polynomialtest.dir/polynomialtest.cc.o.d -o CMakeFiles/polynomialtest.dir/polynomialtest.cc.o -c /<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc: In instantiation of ‘Dune::TestSuite testDynamicPolynomial() [with Scalar = double; CoefficientArgs = {std::array<double, 4>}]’:
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:221:68: required from here
221 | suite.subTest(testDynamicPolynomial<double, std::array<double,4>>());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:58:14: error: class template argument deduction failed:
58 | auto p = Polynomial(Coefficients({1, 2, 3, -4}));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:58:14: error: no matching function for call to ‘Polynomial(std::array<double, 4>)’
In file included from /<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:15:
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:145:3: note: candidate: ‘template<class K, class C> Polynomial(C)-> Dune::Functions::Polynomial<K, C>’
145 | Polynomial(Coefficients coefficients) :
| ^~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:145:3: note: template argument deduction/substitution failed:
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:58:14: note: couldn’t deduce template parameter ‘K’
58 | auto p = Polynomial(Coefficients({1, 2, 3, -4}));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:135:3: note: candidate: ‘template<class K, class C> Polynomial()-> Dune::Functions::Polynomial<K, C>’
135 | Polynomial() = default;
| ^~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:135:3: note: candidate expects 0 arguments, 1 provided
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:121:7: note: candidate: ‘template<class K, class C> Polynomial(Dune::Functions::Polynomial<K, C>)-> Dune::Functions::Polynomial<K, C>’
121 | class Polynomial
| ^~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:121:7: note: template argument deduction/substitution failed:
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:58:14: note: ‘std::array<double, 4>’ is not derived from ‘Dune::Functions::Polynomial<K, C>’
58 | auto p = Polynomial(Coefficients({1, 2, 3, -4}));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:207:1: note: candidate: ‘template<class K> Dune::Functions::Polynomial(std::initializer_list<_Tp>)-> Polynomial<K, std::vector<TIN> >’
207 | Polynomial(std::initializer_list<K>) -> Polynomial<K, std::vector<K>>;
| ^~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:207:1: note: template argument deduction/substitution failed:
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:58:14: note: ‘std::array<double, 4>’ is not derived from ‘std::initializer_list<_Tp>’
58 | auto p = Polynomial(Coefficients({1, 2, 3, -4}));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:204:1: note: candidate: ‘template<class K, K ...ci> Dune::Functions::Polynomial(std::integer_sequence<T, t ...>)-> Polynomial<K, std::integer_sequence<T, t ...> >’
204 | Polynomial(std::integer_sequence<K, ci...>) -> Polynomial<K, std::integer_sequence<K,ci...>>;
| ^~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:204:1: note: template argument deduction/substitution failed:
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:58:14: note: ‘std::array<double, 4>’ is not derived from ‘std::integer_sequence<T, t ...>’
58 | auto p = Polynomial(Coefficients({1, 2, 3, -4}));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:201:1: note: candidate: ‘template<class K, long unsigned int n> Dune::Functions::Polynomial(std::array<K, n>)-> Polynomial<K, std::array<K, n> >’
201 | Polynomial(std::array<K,n>) -> Polynomial<K, std::array<K,n>>;
| ^~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:201:1: note: template argument deduction/substitution failed:
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:58:14: note: mismatched types ‘long unsigned int’ and ‘unsigned int’
58 | auto p = Polynomial(Coefficients({1, 2, 3, -4}));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/polynomial.hh:198:1: note: candidate: ‘template<class K> Dune::Functions::Polynomial(std::vector<TIN>)-> Polynomial<K, std::vector<TIN> >’
198 | Polynomial(std::vector<K>) -> Polynomial<K, std::vector<K>>;
| ^~~~~~~~~~
...
/<<PKGBUILDDIR>>/dune/functions/analyticfunctions/test/polynomialtest.cc:184:28: error: no match for ‘operator==’ (operand types are ‘Dune::Functions::Polynomial<int, std::tuple<long unsigned int, std::integral_constant<long unsigned int, 6>, long int> >’ and ‘Dune::Functions::Polynomial<int, std::tuple<long unsigned int, std::integral_constant<unsigned int, 6>, long int> >’)
184 | suite.check(derivative(p)==dp);
|