mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-10-30 19:44:32 +00:00 
			
		
		
		
	Fix build with Intel '17 compiler, i.e. workaround incorrect auto types for c++ style definitions.
E.g. assuming T::rank is an int, then objects defined like so:
    const auto rank{T::rank};
should also be int. Unfortunately, Intel '17 instead defines them to be std::initializer_list<int>, then proceeds to complain where these variables are used that they cannot be converted to int. NB: This was fixed under Intel '18
			
			
This commit is contained in:
		| @@ -454,7 +454,7 @@ namespace Grid { | ||||
|     } | ||||
|     assert( NumContainers * ElementsPerContainer == buf.size() && "EigenIO: Number of elements != product of dimensions" ); | ||||
|     // Now see whether the tensor is the right shape, or can be made to be | ||||
|     const auto & dims{output.dimensions()}; | ||||
|     const auto & dims = output.dimensions(); | ||||
|     bool bShapeOK = (output.data() != nullptr); | ||||
|     for( auto i = 0; bShapeOK && i < TensorRank ; i++ ) | ||||
|       if( dims[i] != dimData[i] ) | ||||
| @@ -558,7 +558,7 @@ namespace Grid { | ||||
|     template <typename T> | ||||
|     static inline typename std::enable_if<EigenIO::is_tensor<T>::value, bool>::type | ||||
|     CompareMember(const std::vector<T> &lhs, const std::vector<T> &rhs) { | ||||
|       const auto NumElements{lhs.size()}; | ||||
|       const auto NumElements = lhs.size(); | ||||
|       bool bResult = ( NumElements == rhs.size() ); | ||||
|       for( auto i = 0 ; i < NumElements && bResult ; i++ ) | ||||
|         bResult = CompareMember(lhs[i], rhs[i]); | ||||
|   | ||||
| @@ -1,3 +1,32 @@ | ||||
| /************************************************************************************* | ||||
|   | ||||
|  Grid physics library, www.github.com/paboyle/Grid | ||||
|   | ||||
|  Source file: ./Grid/serialisation/VectorUtils.h | ||||
|   | ||||
|  Copyright (C) 2015 | ||||
|   | ||||
|  Author: Antonin Portelli <antonin.portelli@me.com> | ||||
|  Author: Peter Boyle <paboyle@ph.ed.ac.uk> | ||||
|  Author: paboyle <paboyle@ph.ed.ac.uk> | ||||
|   | ||||
|  This program is free software; you can redistribute it and/or modify | ||||
|  it under the terms of the GNU General Public License as published by | ||||
|  the Free Software Foundation; either version 2 of the License, or | ||||
|  (at your option) any later version. | ||||
|   | ||||
|  This program is distributed in the hope that it will be useful, | ||||
|  but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  GNU General Public License for more details. | ||||
|   | ||||
|  You should have received a copy of the GNU General Public License along | ||||
|  with this program; if not, write to the Free Software Foundation, Inc., | ||||
|  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||||
|   | ||||
|  See the full license in the file "LICENSE" in the top level distribution directory | ||||
|  *************************************************************************************/ | ||||
| /*  END LEGAL */ | ||||
| #ifndef GRID_SERIALISATION_VECTORUTILS_H | ||||
| #define GRID_SERIALISATION_VECTORUTILS_H | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user